Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Graphics Apple

MacPaint Source Code Released to Museum 175

gbooch writes "The Computer History Museum, located in Mountain View, California, is not only a museum of hardware but also a museum of software. Today, with the permission of Apple, the Museum has made available the original source code of MacPaint. MacPaint was written by Bill Atkinson, a member of the original Macintosh development team. Originally called MacSketch, he based it on his earlier LisaSketch (also called SketchPad) for the Apple Lisa computer. Bill started work on the Macintosh version in early 1983. "
This discussion has been archived. No new comments can be posted.

MacPaint Source Code Released to Museum

Comments Filter:
  • Hopefully this starts a trend where companies release their source to the world once they're done with it.
    • Re: (Score:3, Informative)

      Uh... id has been doing this for years. And id doesn't wait 27 years to do it, either.

      ftp://ftp.idsoftware.com/idstuff/source/ [idsoftware.com]

    • Re: (Score:3, Funny)

      What constitutes done with it? When was the last time any development or effort was put into any thing DukeNukem related? What about Windows 3.1 (oh sorry, that code is still in Windows, isn't it, heh)

    • Abandonware (Score:5, Interesting)

      by jabberw0k ( 62554 ) on Tuesday July 20, 2010 @08:08AM (#32962964) Homepage Journal
      Assuming the source code is still kept in useful form by a company that is not ashamed of it, there is little to lose and much goodwill to be gained by releasing "abandonware" -- but those are two large assumptions, aren't they?

      I have released my HDOS, CP/M, and MS-DOS product source code from the 1980s [wlindley.com]; there were a few other software packages I sold back then, but I no longer have readable floppies with enough bits of source to release them.

    • by Digital Vomit ( 891734 ) on Tuesday July 20, 2010 @08:27AM (#32963146) Homepage Journal

      Hopefully this starts a trend where companies release their source to the world once they're done with it.

      That was kind of the point with the concept of "copyright": that the copyrighted work in question would enter the public domain after a short time in order to enrich society as a whole.

      What *should* be happening, at the very least, is that a full copy (including source and binaries, in the case of software) of any copyrighted work be placed in government escrow so that it can be released to the public after the copyright expires (which should be about five or ten years, in the case of software).

      How sad that copyright law has been twisted so terribly by the rich and powerful to the detriment of human civilization.

      • I agree with everything except the 'a full copy (including source and binaries, in the case of software) of any copyrighted work be placed in government escrow' - my personal opinion is that binaries and source code are two separate entities, and I see no reason why someone who has the public binary should get the private source when the copyright expires.
        • Interesting. You could draw a comparison to books. When the copyright expires on a book, is the author required to release the notes and research he did while writing it?

          Similarly, I don't have to release to the public letters written by my great-great-great-great grandmother, even though they'd be out of copyright now had I/she published them in the past.
          • Re: (Score:3, Insightful)

            The comparison I was thinking of personally was film making - lots of 'source' material involved in making a film that will never see the light of day when copyright expires on it, especially with more modern digital and animated films (the model and textures for Shrek for example).
          • Re: (Score:3, Insightful)

            by profplump ( 309017 )

            You don't have to release it, but you never asserted copyright protections on it either. It doesn't seem unreasonable to tie the two together -- you can keep something secret OR assert copyright protections, but not both.

            We do exactly the same thing with patents. You can have trade secrets and even take legal action to protect them and prevent them from being improperly shared. OR you can have patent, which makes the design public, but allows you to prohibit use of the design even in independent implementat

            • Re:As goes Apple... (Score:4, Informative)

              by qubezz ( 520511 ) on Tuesday July 20, 2010 @04:00PM (#32970404)

              This is perhaps the most ill-constructed wealth of ignorance posted on Slashdot for a while, at least without original intent to be tardy.

              Copyright protects creative works. Whereas published works may have required copyright notice [loc.gov] on the work (before 1989), or deposit with the Library of Congress [loc.gov], unpublished works have never required a copyright notice [copyright.gov] for protection. If you created it, you have the copyright on it, and can take protective action against others distributing copies of your work.

              Patents protect exclusive distribution of inventions. We do not do the exact same thing with patents. Patents allow you to take legal action and prohibit competitors from making infringing products.

              Trade secrets are secrets as long as they are kept secret, but 'infringing' products are not actionable. You have not publicly declared that you invented something, so if someone else invents it they can use it too (and might even be able to patent it if you haven't created prior art implementing your invention). There are only legal covenants (and criminal liability in some states) to prevent employee disclosure, theft, or espionage. Trade secrets can include non-copyrightable or non-patentable things such as the formula for Red Bull.

              Software, which is currently under discussion, can have all: patentable (think Amazon one-click checkout patent), under copyright (as the Amazon web server software is, even if undisclosed), and contain trade secrets (such as server cloud optimization routines to speed processing).

              If you work for Apple and released the source code to 1984's Macintosh File System you would be breaching your non-disclosure trade secret agreement with Apple. The disclosed software would still be covered by copyright, and features or inventions implemented in the software may be covered by patents too. Many software patents are so vague in their description (merely describing the end result or user interface) that the actual implementation in code may indeed be a trade secret too.

        • And I see absolutely no USE for a 10-year old binary without source code. With source code you can base new programs on it, port it to new platforms and be able to read your data files from 10 years ago...

          With source code you are actually enriching the public domain, without it - you're doing nothing of any value whatsoever. Whatever value binary-only software may have is definitely incredibly time-linked. Abandonware binaries have little or no use. The best you could hope for is to run them in an emulator

          • Re: (Score:3, Insightful)

            No one is required to ensure that something is of any *use* when copyright expires on it, so your argument about binaries doesn't hold water.
            • The purpose of copyright is to contribute value to the public domain. It makes sense not to put a definition of value on say, a book or a painting. Why does it make sense ? Because often the value of these works aren't even RECOGNIZED until well after the copyright is expired and the creator long dead. We all know the Vincent Van Gogh type histories.

              But when it comes to a functional work - it has a functional purpose, and since the REASON for copyright is to serve the public - it can be reasonably stated th

              • The purpose of copyright is to contribute value to the public domain.

                But there is no guarantee of value, ever.

            • But that is exactly what Copyright is meant to do "To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries."

          • Just because YOU can't conceive of a use for 10-year-old binary without source code doesn't mean others can't.

            With an old binary we can at least run the program enough to create requirements suitable for reconstructing and improving the program. I've heard much of "MULE" and other great programs past, and my reflex is a desire to run them to grok their behavior and subsequently write a new take thereon. Having the source is valuable, but lacks decades of development in the art. I could write a clone of MacP

          • And I see absolutely no USE for a 10-year old binary without source code.

            10-year-old versions of Photoshop are still quite useful today. That particular software hasn't progressed that much in that time, and supports data formats that are still commonly used.

        • Given that reasoning, are you suggesting that the code isn't protected by copyright since it wasn't published? Because traditionally copyright protections have applied to both published and unpublished works.

          I'd also argue that the source code is a fundamental component of the information needed to reproduce the work, which is the basis of copyright protections. Using the book analogy, it's not only possible to photograph and re-print a book on new paper, but also to typeset the underlying text and reproduc

          • Given that reasoning, are you suggesting that the code isn't protected by copyright since it wasn't published? Because traditionally copyright protections have applied to both published and unpublished works.

            I'd say that that is a good point and also the point I am trying to make - on expiration of copyright, you are entitled to whatever was distributed and nothing else (IE what you can get hold of), regardless of whether that makes the distributed portion pointless or not.

            I'd also argue that the source code is a fundamental component of the information needed to reproduce the work, which is the basis of copyright protections. Using the book analogy, it's not only possible to photograph and re-print a book on new paper, but also to typeset the underlying text and reproduce the story in another form. Isolating the source code from the binary is like limiting reproductions of books to photographs only, and making it illegal to re-typeset the text because the original TXT files were never made public.

            See my other comment about movies being a better example - there are lots of resources produced during the making of a movie that would be beneficial to the public domain, but you are never going to get. Should Hollywood be required to archi

        • I'd like to point out that if you were to accuse someone of violating your copyright on your "public binary" you would use your "private source" to prove your accusations. In fact you would compare your "private source" against their "private source." The source code and the binary are inexorably linked both in terms of development/implementation and (in my opinion) copyright.
        • If the copyright has expired, the source code is not private any more, it's public domain.

      • by jmorris42 ( 1458 ) *

        > What *should* be happening...

        Nah, that doesn't get to the root of the problem.

        No, copyright should only be available for source. Binaries should only be copyrighted as a derived work of the source. Remember the purpose of copyright is NOT to make the author wealthy, it is to "promote progress in the useful arts and sciences" and so source should eb required to be disclosed as part of the exchange for the copyright.

        This would allow others to study the work, patch the program and adapt it as time went

      • What *should* be happening, at the very least, is that a full copy (including source and binaries, in the case of software) of any copyrighted work be placed in government escrow so that it can be released to the public after the copyright expires

        It is worth noting copyright does make a feeble attempt at this. In order to sue for copyright infringement the work must be registered. In order to seek statutory damages the work must be registered before the infringement. One of the requirements of registrat [copyright.gov]

  • Hypercard? (Score:2, Interesting)

    Once Hypercard is open source then the world will be complete.
  • Oh wow (Score:5, Insightful)

    by Ancient_Hacker ( 751168 ) on Tuesday July 20, 2010 @08:06AM (#32962934)

    Oh wow, I still remember the first time I saw MacPaint-- there was nothing like it. Bill Atkinson did a superb job, shoehorning all those features so they could run in 128K of RAM.

    He just barely made it-- I remember trying to find how much memory my desk accessory could use while MacPaint was running, and when you did a "print preview", the available RAM went down to like 1800 bytes! Yikes!

    • Folklore.org (Score:5, Informative)

      by suntory ( 660419 ) on Tuesday July 20, 2010 @08:16AM (#32963060)
      It has been mentioned a few times here in /., but http://folklore.org/ [folklore.org] has a great collection of short stories about MacPaint. Worth the reading for every geek out there
    • The eight-year old me thought it was incredible. I remember spending a lot of hours just drawing on my parent's 512k mac. All those lost masterpieces!

    • Just looking at the interface--its amazing how many of the UI elements are STILL the industry standard.

  • Whaaaa? (Score:5, Interesting)

    by Sponge Bath ( 413667 ) on Tuesday July 20, 2010 @08:07AM (#32962954)

    ;
    ; FUNCTION Monkey: BOOLEAN;
    ;
    TST MonkeyLives ;IS THE MONKEY ACTIVE ?

    Funcy monkey.

    • Re:Whaaaa? (Score:4, Informative)

      by Anonymous Coward on Tuesday July 20, 2010 @08:16AM (#32963062)

      If that's in the source, I think at one time Apple had some testing harness that sent random click events to programs to see if it would crash. That might be what is meant by the monkey.

      • Interesting. Palm OS had the same thing, but they called it 'Gremlins'.
      • Yes, a bit later I even saw a separate release of this monkey thing: you would launch your app, then launch the monkey, and thousands of clicks were hitting the screen. (seeing this the first time was atrocious ;-)

        When the worst that happened was that sooner or later a given serie of click would trigger a quit command, you were safe :-)

        (and indeed, at that time, the UI was so simple, with ALL command accessible via single one-step menus, that from a quality insurance point of view, I think it did look a rea

        • Re: (Score:3, Funny)

          by Herve5 ( 879674 )

          P. S. of course, you would never silently launch this on your office neighbor's mac. Never.

    • Re:Whaaaa? (Score:5, Informative)

      by Anonymous Coward on Tuesday July 20, 2010 @08:19AM (#32963094)

      Explanation: it was a reference to Apple's automated testing framework, as per the zero-score reply you can't see:

      http://folklore.org/StoryView.py?project=Macintosh&story=Monkey_Lives.txt

    • by ral ( 93840 )
      As someone else pointed out, the monkey sent random mouse events to the program to make sure nothing could crash it. When the monkey was alive, the code would keep the monkey from quitting the program or doing anything else that would stop it. The monkey made MacPaint a virtually crash proof program.
  • by Anonymous Coward on Tuesday July 20, 2010 @08:09AM (#32962982)

    Funny how Macs now lack the equivalent of MacPaint.

    • Re: (Score:3, Informative)

      by Morth ( 322218 )

      If you install Xcode, you will get a sample app called Sketch. It's pretty much a light version of MacPaint.

      • If you install Xcode, you will get a sample app called Sketch. It's pretty much a light version of MacPaint.

        I have Xcode installed, and Sketch is nowhere to be found. I suspect it comes with only older versions of Xcode, unless someone can prove this guess wrong.

        • Re: (Score:3, Informative)

          /Developer/Examples/Sketch/Sketch.xcodeproj

          Apple-B. /Developer/Examples/Sketch/build/Debug/Sketch.app

          You don't think something that came with Developer Tools came as just an app did you?

          Also means you have to have installed the examples. This is from the latest version of XCode on Snow Leopard.

          • I suspect it came from an old version. The latest versions of the developer tools no longer install the examples. They are still available as a separate download, however.
            • I would check your sources if they did not contain the examples. Most likely you chose not to install the examples.

        • by Morth ( 322218 )

          Possible. It lives at /Developer/Examples/Sketch on my computer. Of course, you have to build it first.

          I think there's also a few other versions available hidden in the SDK documentation. Try
          open /Developer/Documentation/DocSets/com.apple.adc.documentation.AppleSnowLeopard.CoreReference.docset/Contents/Resources/Documents/samplecode/Sketch-112

        • /Developer/Examples/Sketch/

          All of the files should be in there for you to build it.
    • Re: (Score:2, Informative)

      by domatic ( 1128127 )

      I rather like this for quick and simple things:

      http://seashore.sourceforge.net/ [sourceforge.net]

      It's under active development again. The "preview snapshot" is quite nice.

    • Yeah, they don't have the Internets or anything like that.

    • ... by Thorsten Lemke (Lemkesoft):

      http://www.lemkesoft.com/content/188/graphicconverter.html [lemkesoft.com]

      What's especially great with this software:
      Thorsten is still supporting Mac OS Classic (i.e. Mac OS 9 running natively) users by providing specific versions of GraphicConverter for their OS.

      Mac OS X being supported too, of course.

      Walter.

  • by originalhack ( 142366 ) on Tuesday July 20, 2010 @08:14AM (#32963028)

    The problem with this is that Apple was so innovative that they can infringe patents for ideas that other large companies came up with years later.
  • and Quickdraw (Score:3, Interesting)

    by Teese ( 89081 ) <beezel@@@gmail...com> on Tuesday July 20, 2010 @08:23AM (#32963112)
    or some early parts of it (download on the same page). That seems even more interesting to me.
  • by master_p ( 608214 ) on Tuesday July 20, 2010 @08:34AM (#32963224)

    I've looked at the source and it shows many good programming traits, like variable and procedure naming that makes sense, separation of concerns (each procedure is short and does only one or two things; and it's procedural), etc. The code is very easy to follow. It shows that good programming is more about the programmer than the programming language.

  • by 140Mandak262Jamuna ( 970587 ) on Tuesday July 20, 2010 @08:40AM (#32963304) Journal
    Without cryptic comments like 1750 ; RIP JSB the source code is not very entertaining.
  • by Linker3000 ( 626634 ) on Tuesday July 20, 2010 @08:52AM (#32963476) Journal
    ;
    ; Wrist Test - see if user is gripping left front
    ; edge of mouse as this will cause drawing
    ; performance to drop-off
    ;
    FUNCTION WristTest : Boolean;


    Uncanny eh!?
  • Too sad. (Score:3, Insightful)

    by drolli ( 522659 ) on Tuesday July 20, 2010 @10:37AM (#32965216) Journal

    It wont run on an iphone - its in pascal. Emulation or non-native/transpiled programs are forbidden, i heard.

    • Apple's TOS for the iPhone don't care what language you write your app in just so long as it compiles to native machine code for the A4 processor. If you could manage to find (or write your own) Pascal-to-A4-machine-code compiler, you could write an iPhone app in Pascal if you really wanted to.
    • It wont run on an iphone - its in pascal.

      Whoa. I guess that puts the "Nobody ever wrote anything useful in Pascal" meme to rest.

      • Re: (Score:3, Informative)

        by Jonathan ( 5011 )

        Pretty much *all* of the classic Mac software was written in Pascal -- it was Apple's premier development system. C didn't really catch on outside the UNIX world until the mid to late 1980s.

      • by drolli ( 522659 )
        I thought this meme would have been put to rest by all the nice DOS-Application which overall ran better the Ajax/Flash/heads in the clouds programs advertised now.
  • Comment removed based on user account deletion
  • ... When are you going to release the source for that Gorillas game??.... ... ...oh, wait....

  • For "The Art of Computer Programming", according to the article. What was he planning on doing? Converting it to his pseudo-assembly language MIX? As far as I know, Knuth has never used a high level language in his AoCP, although obviously he knows how to program in them (early versions of TeX were in Pascal, and now they are in C)

The last person that quit or was fired will be held responsible for everything that goes wrong -- until the next person quits or is fired.

Working...