Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Operating Systems Software

Opencroquet 380

zymano writes "OSnews has some information about Opencroquet, a 3d operating system worked on by Alan Kay, who also is one of the inventors of Smalltalk, one of the fathers of object oriented programming, conceiver of the laptop computer, inventor of much of the modern windowing GUI. The OS is a 3D environment running through the Squeak environment on top of another operating system. It requires a supported 3D accelerator. Squeak is an interpreted language similar to Smalltalk. Could be ssslooooww. Way cool screenshot."
This discussion has been archived. No new comments can be posted.

Opencroquet

Comments Filter:
  • by Quill_28 ( 553921 ) on Wednesday March 12, 2003 @10:04AM (#5493208) Journal
    Summary

    Croquet had the working name of Tea until recently. You will see many references to Tea in the system, in the code, and even in this document. Just
    assume that when you see Tea, we mean Croquet.

    Croquet was built to answer a simple question. If we were to create a new operating system and user interface knowing what we know today, how far
    could we go. What kinds of decisions would we make that we might have been unable to even consider 20 or 30 years ago, when the current set of
    operating systems were first created.

    The landscape of possibilities has evolved tremendously in the last few years. Without a doubt, we can consider Moore's law and the Internet as the two
    primary forces that are colliding like tectonic plates to create an enormous mountain range of possibilities. Since every existing OS was created when the
    world around it was still quite flat, they were not designed to truly take advantage of the heights that we are now able to scale.

    What is perhaps most remarkable about this particular question is that in answering it, we find that we are revisiting much of the work that was done in
    the early sixties and seventies that ultimately led to the current successful architectures. One could say that that in reality, this question was asked long
    ago, and the strength of the answer has successfully carried us for a quarter century. On the other hand, the current environments are really just the thin
    veneer over what even long ago were seriously outmoded approaches to development and design. Most of the really good fundamental ideas that people
    had were left on the cutting room floor.

    That isn't to say that they thought of everything either. A great deal has happened in the last few decades that allows for some fundamentally new
    approaches that could not have been considered at the time.

    We are making a number of assumptions:

    Hardware is fast - really fast, but other than for booting Windows or playing Quake no one cares - nor can they really use it. We want to take advantage
    of this power curve to enable a richer experience.

    3D Graphics hardware is really, really fast and getting much faster. This is great for games, but we would like to unlock the potential of this technology to
    enhance the entire user experience.

    Late bound languages have experienced a renaissance in both functionality and performance. Extreme late-bound systems like LISP and Smalltalk have
    often been criticized as being too slow for many applications, especially those with stringent real-time demands. This is simply no longer the case, and as
    Croquet demonstrates, world-class performance is quite achievable on these platforms.

    Communication has become a central part of the computing experience, but it is still done through the narrowest of pipes, via email or letting someone
    know that they have just been converted into chunks in Quake. We want to create a true collaboration environment, where the computer is not just a
    world unto itself, but a meeting place for many people where ideas can be expressed, explored, and transferred.

    Code is just another media type, and should be just as portable between systems. Late binding and component architectures allow for a valuable
    encapsulation of behaviors that can be dynamically shared and exchanged.

    The system should act as a virtual machine on top of any platform. We are not creating just another application that runs on top of Windows, or the
    Macintosh - we are creating a Croquet Machine that is highly portable and happens to run bit-identical on Windows, Macintosh, Linux, and ultimately on
    its own hardware... anywhere we have a CPU and a graphics processor. Once the virtual machine has been ported, everything else follows; even the
    bugs are the same. Most attempts at true multiplatform systems have turned out to be dangerous approximations (cf. Java) rather than the bit-identical
    "mathematically guaranteed" ports that are required.

    There are no boundaries in the system. We are creating an environment where anything can be created; everything can be modified, all in the 3D world.
    There is no separate development environment, no user environment. It is all be the same thing. We can even change and author the worlds in
    collaboration with others inside them while they are operating .

    The existing operating systems are like the castles that were owned by their respective Lords in the Middle Ages. They were the centers of power, a way
    to control the population and threaten the competition. Sometimes, a particular Lord would become overpowering, and he would get to declare himself as
    King. This was great for the King. And not to bad for the rest of the nobles, but in the end - technology progressed and people started blowing holes in
    the sides of the castles. The castles were abandoned. Technology does this.
  • Mirror (Score:5, Informative)

    by Anonymous Coward on Wednesday March 12, 2003 @10:06AM (#5493219)

    summary.html [mrhostbot.com]

    teapot.jpeg [mrhostbot.com]

    Croquet0.1.pdf [mrhostbot.com]

    I grabbed the summary text and screenshot as well as the Croquet user manual in anticipation of /. effect. Thank MrHOSTBOT [mrhostbot.com] for the free bandwidth.

    Oh, and people seemed to be labeled "karma whore" just because they post useful (mirror) links, so I guess I'll stick to A.C. in order to please the masses.

  • mirror of screenshot (Score:3, Informative)

    by oever ( 233119 ) on Wednesday March 12, 2003 @10:16AM (#5493298) Homepage
    Here's the screenshot [fenk.wau.nl]
    It's not too spectacular, if you ask me.
  • Re:Nifty! (Score:3, Informative)

    by TulioSerpio ( 125657 ) on Wednesday March 12, 2003 @10:23AM (#5493349) Homepage Journal
    Squeak it's an Object ambient, not a programming lenguage alone. That's mean every thing you see is an object (the compiler, the classes, the windows, the number 3, the message "+" send to the object 5, etc. etc.).
    I think the idea is to create an OS from Squeak, and opencroquet being the shell.
    The language itself is used to do things like open files, if you want.
    You can program in assembler, if you can. But you must think in Assembler.
  • by jarober61 ( 598836 ) on Wednesday March 12, 2003 @10:28AM (#5493380) Homepage
    It's cool to see Smalltalk getting noticed, but the misconceptions continue to run amok. Smalltalk is not typically interpreted - like Java, it's a JIT'ed language. The major commercial versions all use a JIT, and there's an experimental one for Squeak around - check the Squeak home page at http://www.squeak.org If you are curious about the commercial implementations - all of which have free downloads - check out this site: http://www.whysmalltalk.com
  • Re:prototype? (Score:5, Informative)

    by brandonY ( 575282 ) on Wednesday March 12, 2003 @10:29AM (#5493399)
    I think not. Compiling would mitigate the whole point. The idea is that it's a perfect virtual machine, with exactly the same code for every system, plus a tiny little bit of specific OS code in C at the very bottom. Squeak's available for so many platforms because it takes this approach. Anybody can knock out a new version in no time, while with something with Java, a new version is a major undertaking and is sure to come with its own unique bugs. Besides, Squeak is actually surprisingly fast for a true OO, VM-based system. It can even handle movie-playing and some 3D stuff with surprisingly good speed. Yay VMs!
  • not slow (Score:5, Informative)

    by g4dget ( 579145 ) on Wednesday March 12, 2003 @10:30AM (#5493403)
    Squeak's byte code engine is better than Perl's or Python's, and there is a JIT available (although it's nowhere near as good as Sun's JIT for Java). And you can translate time-critical stuff into native code using a batch compiler and some manual intervention.

    But raw execution speed isn't all that counts. Because Squeak has everything in one address space (unlike Gnome/KDE) and doesn't need to load anything on the fly (unlike Java), it's actually very responsive and uses comparatively little memory.

    I don't think Squeak or anything based on it is going to replace mainstream desktops now or in the future. But it is an interesting platform for experimentation. It's also historically interesting because you can see the kinds of environments people already had available in 1980 (Smalltalk-80 is contained in Squeak).

  • Re:it's a stretch (Score:1, Informative)

    by Anonymous Coward on Wednesday March 12, 2003 @10:31AM (#5493407)
    All it needs to do is present a complete hardware virtualization layer. As long as that is done, it wouldn't matter if you run the OS "on top" of another OS, or as the native OS, everything will work exactly the same (albeit slower in the former case).
  • Re:it's a stretch (Score:4, Informative)

    by RevAaron ( 125240 ) <revaaron AT hotmail DOT com> on Wednesday March 12, 2003 @10:43AM (#5493514) Homepage
    Yes and no. Squeak itself is an operating system which is usually hosted on another OS, like Unix or Windows. However, it is possible for it to run on the bare metal, and there has been some work towards that end. You can even write new hardware drivers in Smalltalk. This is x86 only so far- most people are content to run it ontop of another OS for now, so there hasn't been a huge push towards getting rid of the inferior host OSes quite yet.
  • Re:prototype? (Score:5, Informative)

    by RevAaron ( 125240 ) <revaaron AT hotmail DOT com> on Wednesday March 12, 2003 @10:46AM (#5493540) Homepage
    A correction to the original post:

    Squeak isn't an interpreted language like Perl or Basic (usually) is. Squeak is compiled, but to bytecode. The bytecode is then JIT-compiled or interpreted. Never is the code itself interpreted.
  • Google cached image (Score:2, Informative)

    by vosbert ( 544192 ) on Wednesday March 12, 2003 @10:46AM (#5493545)
    Since the screenshot is slashdotted,the image on the left I presume is the screenshot (although a little small and hard to see) Small google cache of screen shot [google.com]
  • by androse ( 59759 ) on Wednesday March 12, 2003 @10:54AM (#5493616) Homepage
    This is the kind of stuff that is regularly discussed on Nooface [nooface.com] (a Slash site BTW).

    Ripped straight off the side bar :

    Will 3D user interfaces ever take off? With ever-growing 3D processing capabilities available on standard PC hardware, it seems only natural to pursue UI directions that take advantage of this awesome power. Moreover, the generation of users now emerging has had access to video games for as long as they could remember. As the line between video games and PCs becomes blurrier, the time may have come to think about how to apply 3D visualization techniques for more day-to-day computing tasks.

    Here are links to some of the 3DUIs that are available today:

    - FSN [sgi.com] (pronounced "fusion") produces a cyberspace rendering of a file system. This was the original 3D file system navigator shown in Jurassic Park [monash.edu.au] ("Hey, this is UNIX. I know this!").
    [Screenshot [monash.edu.au]] | [Download [sgi.com]] (IRIX)

    - FSV [sourceforge.net] is modelled after FSN, but runs on Linux. FSV lays out files and directories in 3D, geometrically representing the file system hierarchy to allow visual overview and analysis.
    [Screenshot [sourceforge.net]] | [Download [tucows.com]] (Linux)

    - Xcruise [nooface.com] lets you fly through a filesystem in 3D as if it were interplanetary space. Directories are represented as galaxies, files are represented as planets (whose mass is determined by the file size), and symbolic links are represented as wormholes.
    [Screenshot [titech.ac.jp]] | [Download [unixuser.org]] (Linux)

    - TDFSB [hgb-leipzig.de] is a 3D filesystem browser for Linux. Take a walk through your filesystem!
    [Screenshot [hgb-leipzig.de]] | [Download [hgb-leipzig.de]] (Linux)

    - Visual File System [nooface.com] is a 3D file system visualizer for Windows. The tool scans a drive selected by the user, and then models the contents of the drive in 3D, based on the directories that are selected in a tree browser on the side of the display.
    [Screenshot [manann.tng.de]] | [Download [manann.tng.de]] (Windows)

    - 3Dtop [nooface.com] is an extension for Windows that represents desktop icons in 3D, letting you to fly around your desktop. You can create coloured spotlights, background and floor textures, "paintings" (bitmaps), clocks, and "flags" that represent shortcuts.
    [Screenshot [3dtop.com]] | [Download [3dtop.com]] (Windows)

    - ROOMS [nooface.com] turns a Windows desktop into a 3D world. You can see the world either through a first person perspective or with a map view, and you can populate the world with sounds, animated images, and 3D icons.
    [Screenshot [rooms3d.com]] | [Download [rooms3d.com]] (Windows)

    - CubicEye [2ce.com] organizes windows into a navigable cube. Cubes can be arranged by thematic or functional subject matter, and can be explored either individually or collectively as part of a more comprehensive structure of multiple cubes representing various areas of interest.
    [Screenshot [2ce.com]] | [Download [2ce.com]] (Windows)

    - Vizible WorldViewer [vizible.com] distributes windows across the exterior and interior surfaces of spheres, providing the means to visualize and navigate large numbers of web pages and data sources simultaneously.
    [Screenshot [vizible.com]]

  • Re:Flash? (Score:3, Informative)

    by Kombat ( 93720 ) <kevin@swanweddingphotography.com> on Wednesday March 12, 2003 @10:58AM (#5493643)
    The fact is you can travel NOW with a Ford T in any street.

    Wrong. Some highways in Quebec have a minimum speed limit of 80 km/h (50 mph). The Model T's top speed is 72 km/h (45 mph), ergo, you cannot drive it on some Quebec highways.

    Also, even though you could drive it on some modern roads, it would not be without causing headaches to both yourself and other motorists, due to your low speed. Analogously, you can browse that website without Flash, you're just missing out on some of the content. You saw the screenshot, didn't you? (Assuming you got there before it was Slashdotted into oblivion)?

  • Tried it (Score:2, Informative)

    by ItWasThem ( 458689 ) on Wednesday March 12, 2003 @10:59AM (#5493655)
    I tried this when it was announced on nooface.com a few months ago... at that time when I tried to run it the Squeak window came up but the app itself bombed. I tried and tried and couldn't even get the shell to run. I think this project has a long ways to go before it's even at the "experimental" stage. I think 3dwm is farther along at least in try-ability, but good luck to them.
  • by skojt ( 129689 ) <skojt@adho.mine.nu> on Wednesday March 12, 2003 @11:06AM (#5493703) Homepage
    Swedish radio sent an interview with Alan Kay today. The interviewer tells him that he could have been Bill Gates and Kay responds with "But Bill Gates doesn't know anything important about computers so who'd want to be him?".

    Link [www.sr.se] to real audio clip (click on "Lyssna" and go to the end of the file). The interview is about what he did at Xerox.
  • by RevAaron ( 125240 ) <revaaron AT hotmail DOT com> on Wednesday March 12, 2003 @11:18AM (#5493810) Homepage
    A lot of people are extrapolating from the statement about speed sans a 3D accelerator that Squeak itself is slow. Not the case. Squeak isn't interpreted, it's bytecode compiled, and the VM is quite well done. I regularily run Squeak on machines which, by today's standards are pretty slow- 75 MHz MIPS, 206 MHz StrongARM, and a 350 MHz K6-2. To me, these machines are still pretty fast and useful, Squeak making them even more so.

    Squeak has two different GUI systems which you can use- Morphic and MVC. MVC is the "original WIMP," the first ever GUI system. It has deviated a bit from what came out of Xerox almost 30 years ago, but it has the same API and most of the same source code. It has Mac-like window decorations instead of the BeOS-like tabs now a days. MVC is a lot faster than Morphic for a number of reasons. It is what I will use on the slowest of the machines I use for Squeak (75 MHz). A number of GUI APIs have been modeled after MVC over the years, including Swing (MVC is much faster, don't get me wrong!) and Cocoa AppKit.

    Morphic is what most folks use when they are running Squeak. It has a really cool programming model- applications can be built programmatically, with a GUI builder, or by directly manipulating the Morphs (graphical objects). A common example is the Rolodex- you can make on in Squeak without writing a line of code, just drag some Morphs around, make a few menu decisions, and there you go.

    Morphic is slower than MVC, but you get what you pay for (computationally!). It is still quite usably fast on a 350 MHz K6-2 (~300 MHz PII), however.

    I have not tried Croquet yet. There has been a lot of talk on the Squeak list about it, but in all honesty, 3D worlds aren't really my thing. People have been talking about the 90 MB download- most of that is media. A standard Squeak download is around 10-15 MB for the latest version, including a lot of useful classes and applications. Out-of-box memory footprint is 20 MB or so, but if you trim what you don't need, you can easily end up with a 1-3 MB image and a 2-4 MB memory footprint. This ain't Java, folks.

    I am a bit of an oddity, even within the Squeak community. I use Squeak *as* my OS, my computing environment. One could think of it rather like Emacs- a lot of applications [1] are written for it, and it is readily modifiable, so that the environment works like you want it to. Don't like the way Squeak manages windows? Make a couple small changes to a few small methods. I was once a Linux user trying to do just this to my environment, making tweaks to the WM, and it was way more work than it should be. You can imagine how excited I was when I came across Squeak- the entire system is written in Smalltalk, making changes pretty easy, no matter what part of the system they affect.

    [1] There are a number of applications written in Squeak. Most new apps are written for Morphic (rather than the older MVC). These apps include: two different forms of handwriting/gesture recognition, a simple web browser, a pretty good email client (although POP only), a couple IRC clients, a bunch of games, an vt100 terminal for use as an xterm or telnet client, all of the programming tools for writing Smalltalk, and more.
  • Information Overload (Score:3, Informative)

    by hrieke ( 126185 ) on Wednesday March 12, 2003 @11:35AM (#5493965) Homepage
    How much information can the human mind handle before the datum become just noise?

    I recall reading or seeing on TV once interviews with fighter jet pilots from the Korean War, and they were complaning to the engineers that there were too many audio alerts that were distracting them from doing their job, and could they put an off switch somewhere for those alerts?

    I can see the same thing with the interface- how much data do we need to bombard ourselves with? The human mind can only subdivid our attention to so many tasks at once (I think the limit is 4 or 5).

    I certainly can see places where moving into the 3rd dimention would help, but I see those as specialized tasks, not writing a letter or reading email.
  • is too slow (Score:3, Informative)

    by cryptoluddite ( 658517 ) on Wednesday March 12, 2003 @11:41AM (#5494046)
    First poster says Smalltalk is no longer slow and that Java is "dangerous", but fairly recent testing [google.com] showed the truth:

    Math: 20x-300x slower than C or Java.
    Method calls: 5x slower.

    Overall overhead from OO is at least 10x for Smalltalk over C++ (there are a LOT more messages/method calls and almost none are inlined). Also since everything is a 'live' object when people screw up their desktop they have to do the moral equivalent of reinstalling the OS.
  • Re:prototype? (Score:3, Informative)

    by jim3e8 ( 458859 ) on Wednesday March 12, 2003 @11:59AM (#5494244) Homepage
    Perl is also compiled to bytecode, as is Python. Neither is interpreted, in the strict sense.
  • Re:prototype? (Score:1, Informative)

    by Anonymous Coward on Wednesday March 12, 2003 @12:00PM (#5494258)
    Maturity - what you're looking at is a few months old. At the time is was defined by it's creators as a pre-alpha.

    www.squeak.org is the platform on which it is built. Squeak has 2 different 2D UIs, in addition to the 3D Alice clone. It is very scriptable (by drag&drop, or coding) and very extensible. You can change the compiler if you want, just don't come crying when it doesn't fix itself back ;-)

    The development support is amazing. Look up "Refactoring Browser" for an example.

    On a 1.3 Athlon, its only slow when I do something silly.

    Visit http://minnow.cc.gatech.edu/squeak/1. A will to learn is the only requirement.

    Daniel
  • Re:Licensing? (Score:3, Informative)

    by jitterbug ( 38915 ) on Wednesday March 12, 2003 @12:25PM (#5494462)
    This is the current state of the license:

    "... until a better license is written, Croquet is
    covered under the current Squeak license."
    - Team Croquet

    The license allows for modification and redistribution, but has some quirky clauses in it because of it's lineage as proprietary software that owned by Apple.

    It's worth noting, that the Smalltalk community since the beginning has always exposed all of it's source and allowed and encouraged users to modify the code and expand the code base. This goes back long before the open software/free software movements took root.

    ---

    Squeak License
    Apple Computer, Inc. Software License
    PLEASE READ THIS SOFTWARE LICENSE AGREEMENT "LICENSE" CAREFULLY BEFORE DOWNLOADING THIS SOFTWARE. BY DOWNLOADING THIS SOFTWARE YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, DO NOT DOWNLOAD.

    1. License. The software, documentation and any fonts which you will receive by downloading this software (the "Apple Software") are licensed, not sold, to you by Apple Computer, Inc. or its local subsidiary, if any. Apple and/or Apple's licensor(s) retain title to the Apple Software, and the Apple Software and any copies which this License authorizes you to make are subject to this License. This License grants no right or license under any trademarks, service marks, or tradenames of Apple.

    2. Permitted Uses and Restrictions. This License allows you to copy, install and use the Apple Software on an unlimited number of computers under your direct control. You may modify and create derivative works of the Apple Software ("Modified Software"), however, you may not modify or create derivative works of the fonts provided by Apple ("Fonts"). You may distribute and sublicense such Modified Software only under the terms of a valid, binding license that makes no representations or warranties on behalf of Apple, and is no less protective of Apple and Apple's rights than this License. You may distribute and sublicense the Fonts only as a part of and for use with Modified Software, and not as a part of or for use with Modified Software that is distributed or sublicensed for a fee or for other valuable consideration. If the Modified Software contains modifications, overwrites, replacements, deletions, additions, or ports to new platforms of: (1) the methods of existing class objects or their existing relationships, or (2) any part of the virtual machine, then for so long as the Modified Software is distributed or sublicensed to others, such modified, overwritten, replaced, deleted, added and ported portions of the Modified Software must be made publicly available, preferably by means of download from a website, at no charge under the terms set forth in Exhibit A below. You may transfer your rights under this License provided you transfer this License and a copy of the Apple Software to a party who agrees to accept the terms of this License and destroy any other copies of the Apple Software in your possession. Your rights under this License will terminate automatically without notice from Apple if you fail to comply with any term(s) of this License.

    3. Disclaimer Of Warranty. The Apple Software is pre-release, and untested, or not fully tested. The Apple Software may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Apple Software is at your sole risk. You acknowledge that Apple has not publicly announced, nor promised or guaranteed to you, that Apple will release a final, commercial or any future pre-release version of the Apple Software to you or anyone in the future, and that Apple has no express or implied obligation to announce or introduce a final, commercial or any future pre-release version of the Apple Software or any similar or compatible product, or to continue to offer or support the Apple Software in the future. The Apple Software is provided "AS-IS" and without warranty of any kind and Apple and Apple's licensor(s) (for the purposes of Sections 3 and 4, Apple and Apple's licensor(s) shall be collectively referred to as "Apple") EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY OR SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. APPLE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE APPLE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED. FURTHERMORE, APPLE DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE APPLE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. SHOULD THE APPLE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THE TERMS OF THIS DISCLAIMER DO NOT AFFECT OR PREJUDICE THE STATUTORY RIGHTS OF A CONSUMER ACQUIRING APPLE PRODUCTS OTHERWISE THAN IN THE COURSE OF A BUSINESS, NEITHER DO THEY LIMIT OR EXCLUDE ANY LIABILITY FOR DEATH OR PERSONAL INJURY CAUSED BY APPLE'S NEGLIGENCE.

    4. Limitation of Liability. UNDER NO CIRCUMSTANCES, INCLUDING NEGLIGENCE, SHALL APPLE BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Apple's total liability to you for all damages exceed the amount of fifty dollars ($50.00).

    5. Indemnification. You agree to indemnify and hold Apple harmless from any and all damages, liabilities, costs and expenses (including but not limited to attorneys' fees and costs of suit) incurred by Apple as a result of any claim, proceeding, and/or judgment to the extent it arises out of or is connected in any manner with the operation, use, distribution or modification of Modified Software, or the combination of Apple Software or Modified Software with other programs; provided that Apple notifies Licensee of any such claim or proceeding in writing, tenders to Licensee the opportunity to defend or settle such claim or proceeding at Licensee's expense, and cooperates with Licensee in defending or settling such claim or proceeding.

    6. Export Law Assurances. You may not use or otherwise export or reexport the Apple Software except as authorized by United States law and the laws of the jurisdiction in which the Apple Software was obtained. In particular, but without limitation, the Apple Software may not be exported or reexported (i) into (or to a national or resident of) any U.S. embargoed country or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Department of Commerce's Table of Denial Orders. By using the Apple Software, you represent and warrant that you are not located in, under control of, or a national or resident of any such country or on any such list.

    7. Government End Users. If the Apple Software is supplied to the United States Government, the Apple Software is classified as "restricted computer software" as defined in clause 52.227-19 of the FAR. The United States Government's rights to the Apple Software are as provided in clause 52.227-19 of the FAR.

    8. Controlling Law and Severability. If there is a local subsidiary of Apple in the country in which the Apple Software License was obtained, then the local law in which the subsidiary sits shall govern this License. Otherwise, this License shall be governed by the laws of the United States and the State of California. If for any reason a court of competent jurisdiction finds any provision, or portion thereof, to be unenforceable, the remainder of this License shall continue in full force and effect.

    9. Complete Agreement. This License constitutes the entire agreement between the parties with respect to the use of the Apple Software and supersedes all prior or contemporaneous understandings regarding such subject matter. No amendment to or modification of this License will be binding unless in writing and signed by Apple.

    Where the Licensee is located in the province of Quebec, Canada, the following clause applies: The parties hereto confirm that they have requested that this Agreement and all related documents be drafted in English. Les parties ont exigé que le présent contrat et tous les documents connexes soient rédigés en anglais.

    EXHIBIT A
    License. You may copy, install, use, modify and create derivative works of the [Modified Software] "Changed Software" (but you may not modify or create derivative works of the [Fonts]) and distribute and sublicense such Changed Software, provided however, that if the Changed Software contains modifications, overwrites, replacements, deletions, additions, or ports to new platforms of: (1) the methods of existing classes objects or their existing relationships, or (2) any part of the virtual machine, then for so long as the Changed Software is distributed or sublicensed to others, such modified, overwritten, replaced, deleted, added and ported portions of the Changed Software must be made publicly available, preferably by means of download from a website, at no charge under the terms of a license that makes no representations or warranties on behalf of any third party, is no less protective of [the licensors of the Modified Software] and its licensors, and contains the terms set forth in Exhibit A below [which should contain the terms of this Exhibit A]. You may distribute and sublicense the [Fonts] only as a part of and for use with Changed Software, and not as a part of or for use with Changed Software that is distributed or sublicensed for a fee or for other valuable consideration.
  • Re:3D OS (Score:3, Informative)

    by Anonvmous Coward ( 589068 ) on Wednesday March 12, 2003 @12:38PM (#5494577)
    "Or maybe we could spend the time figuring out how to make computers more secure, so people wouldn't be afraid to put private info on it. Thus making it so that people are more likely to use them for everyday purposes."

    That's pretty lame reasoning. We're not playing Master of Orion here. You can't turn up a slider on "Security Research" and have everybody focus on this.

  • Re:Where's the beef? (Score:4, Informative)

    by fitzell ( 648897 ) on Wednesday March 12, 2003 @02:28PM (#5495552)
    OK, so it's not even remotely an OS - just yet another attempt at a useful 3d GUI which could conceivably one day run on specialized hardware.
    Sure it is - it just happens to be running on top of another layer at the moment. Nothing prevents that layer from disappearing and letting the system run directly on the hardware. All you need to do is implement the bae set of primitives.
    Just like a lisp machine (except 3d graphics somehow play into it?) Woohoo! You can hack the OS while you write a letter to grandma!
    It's true. It is written in smalltalk after all. This is actually one of the coolest things about developing in Squeak. When the debugger doesn't do something the way you want, you can just subclass it and change it so it does!
    No pesky memory protection, no cumbersome file permissions! I'm freeeeee! Hey, stop reading my email!
    When he says "everything can be modified" - he is speaking theoretically. As I understand it, a lot of work is going into developing a permission system (if memory serves, I think they're playing with a capabilities-based system) and this work certainly needs to be completed before people are going to start opening their worlds up to... well the World :) The Croquet team is well aware of the issues there - it's just not their primary focus yet.
  • Re:not slow (Score:1, Informative)

    by Anonymous Coward on Wednesday March 12, 2003 @02:51PM (#5495762)
    One thing that is interesting about the Squeak VM is that it is mostly written inside Squeak, then translated to an equivalent C program (actually it uses a subset of Smalltalk called Slang lends itself to conversion to C well). There are also some support functions to handle glue with the host system such as IO etc.

    You can change the VM implementation and test the result within Squeak itself- although of course at a much slower speed than a compiled VM.

    Check out these docs:

    http://coweb.cc.gatech.edu:8888/squeakbook/uploa ds /porting-subfinal.pdf

    and:

    http://users.ipa.net/~dwighth/squeak/oopsla_sque ak .html

    for details.

Two can Live as Cheaply as One for Half as Long. -- Howard Kandel

Working...