Slashdot Mirror


MacPaint Source Code Released to Museum

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. "

36 of 175 comments (clear)

  1. Hypercard? by thittesd0375 · · Score: 2, Interesting

    Once Hypercard is open source then the world will be complete.

  2. Oh wow by Ancient_Hacker · · Score: 4, Insightful

    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!

    1. Re:Oh wow by stewbacca · · Score: 2, Informative

      15 colours.

      Which is 13 more than the Mac had.

      (Personally I preferred painting with 4096 colours...)

      No, the Apple II (not the Macintosh) was limited to 15 colors in low-res and 8 in hi-res. The Macintosh II, released in 1987, was capable of 24-bit color, which is something like millions of colors more than 15.

  3. Re:As goes Apple... by Codename+Dutchess · · 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/

  4. Re:As goes Apple... by DarkKnightRadick · · Score: 2, 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)

    --
    "There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
  5. Whaaaa? by Sponge+Bath · · Score: 4, Interesting

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

    Funcy monkey.

    1. Re:Whaaaa? by Anonymous Coward · · Score: 4, Informative

      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.

    2. Re:Whaaaa? by Anonymous Coward · · Score: 5, Informative

      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

  6. Abandonware by jabberw0k · · Score: 4, Interesting
    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; 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.

  7. Nothing on Mac OS X by Anonymous Coward · · Score: 5, Insightful

    Funny how Macs now lack the equivalent of MacPaint.

    1. Re:Nothing on Mac OS X by Morth · · Score: 2, Informative

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

    2. Re:Nothing on Mac OS X by 0100010001010011 · · Score: 2, 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.

    3. Re:Nothing on Mac OS X by domatic · · Score: 2, Informative

      I rather like this for quick and simple things:

      http://seashore.sourceforge.net/

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

  8. Re:As goes Apple... by Vnuce · · Score: 3, Funny

    Heck, I'm not even interested in Office 2010 now :)

  9. Probably infringes some 1987 mspaint patent by originalhack · · Score: 4, Funny


    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.

  10. Folklore.org by suntory · · Score: 5, Informative

    It has been mentioned a few times here in /., but http://folklore.org/ has a great collection of short stories about MacPaint. Worth the reading for every geek out there

  11. and Quickdraw by Teese · · Score: 2, Interesting

    or some early parts of it (download on the same page). That seems even more interesting to me.

    --
    "I'm a Genius!"*


    *Not an actual Genius
  12. Re:As goes Apple... by Digital+Vomit · · Score: 4, Insightful

    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.

    --
    Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
  13. MacPaint is an example of good code by master_p · · Score: 4, Informative

    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.

  14. What no comment like RIP JSB? by 140Mandak262Jamuna · · Score: 3, Funny

    Without cryptic comments like 1750 ; RIP JSB the source code is not very entertaining.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  15. "Best program ever written" by Sits · · Score: 4, Interesting

    I remember watching a NerdTV interview with Andy Hertzfeld which made mention of MacPaint. Now I've done a search, I've found the transcript of Andy's interview on the web. I'll quote the section I was thinking of:

    [...] an older guy got up and said he thought MacPaint was probably the best program ever written. Was it possible for him to see the source code? It turns out the person asking the question was Don Knuth [...]

    Sounds like Bill Atkinson can cite you and Knuth as fans :)

  16. Did anyone spot this one... by Linker3000 · · Score: 4, Funny

    ;
    ; 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!?

    --
    AT&ROFLMAO
  17. Re:Monkey test by Herve5 · · Score: 2, Funny

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

    --
    Herve S.
  18. Re:As goes Apple... by FreonTrip · · Score: 2, Insightful

    And if we're "lucky" Doom 3 will be the last one... One of the consequences of id's merger with Zenimax is that the latter have no interest in sharing their tech with the outside world. Word has it that Carmack will "petition" them to release the Doom 3 source. It feels like the end of an age.

  19. Re:Open, but not Free by TheRaven64 · · Score: 2, Informative

    Will be? It isn't relevant now, in terms of actual utility. It was written against a toolkit that no longer ships for a machine which had 128KB of RAM and a monochrome screen.

    The only relevance that it has at all is historical. It was one of the showcase applications at the launch of the original Mac and so it's interesting to see how people worked on such resource-constrained systems. You wouldn't do things the same way now - even a cheap mobile phone is a few orders of magnitude more powerful than the original Mac and so the original constraints do not apply.

    Even if they did, I doubt many people starting today would want a load of m68k assembly and Pascal. You could maybe rewrite the assembly functions in terms of a modern toolkit and recompile the Pascal to run on a new system, but there are much better drawing programs available for free - including some in Apple's developer examples (under a permissive license).

    --
    I am TheRaven on Soylent News
  20. Re:As goes Apple... by silentcoder · · Score: 2, Insightful

    How many great companies have been destroyed by bad mergers.
    The Activision/Blizzard merger has already caused one of the biggest PR disasters in the history of the gaming company we considered one of the best in the world before - not only to work at, but to deal with as a customer. The Zenimax/ID merger is rapidly destroying the soul of perhaps one of the most innovative companies in the history not only of gaming but of software as a whole. ID for their genre-redefining (and in at least one case CREATING) work ranks right up there with the original Sierra/Online as one of the companies that created the foundations on which the modern gaming industry was built.

    I remember when John Carmack said of the reason for the first doom1 source release that he did it "because Linux gives me a woody"...

    It's sad to see truly great companies get swallowed up into corporate hiveminds and lose the wonder that they once held for us.

    --
    Unicode killed the ASCII-art *
  21. Re:As goes Apple... by Richard_at_work · · Score: 2, 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.

  22. Re:As goes Apple... by Richard_at_work · · Score: 2, 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).

  23. Re:Open, but not Free by TheRaven64 · · Score: 2, Interesting

    The TI-89a has a much smaller screen than MacPaint had, and it likely interfaces to it in a different way. None of the Mac toolbox APIs are available and, most importantly, the TI-89a has no mouse and so controlling an app designed exclusively for a mouse would be painful.

    Writing a drawing program from scratch for the calculator would be simpler than porting MacPaint - indeed, a port would likely become a complete rewrite by the time it was finished.

    --
    I am TheRaven on Soylent News
  24. Re:As goes Apple... by profplump · · Score: 2, Insightful

    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 implementations. But you can't patent something and keep it a secret.

  25. Too sad. by drolli · · Score: 2, Insightful

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

    1. Re:Too sad. by Jonathan · · Score: 2, Informative

      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.

    2. Re:Too sad. by slart42 · · Score: 2, Informative

      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.

      From the TOS:

      3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

  26. Re:QuickDraw by outZider · · Score: 2, Informative

    QuickDraw's addons and new APIs were an extension, but core QuickDraw is required for the entire Mac UI. That was a system level API.

    --
    - oZ
    // i am here.
  27. Not just a Converter: GraphicConverter by walter_f · · Score: 2, Informative

    ... by Thorsten Lemke (Lemkesoft):

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

    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.

  28. Re:As goes Apple... by qubezz · · Score: 3, Informative

    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 on the work (before 1989), or deposit with the Library of Congress, unpublished works have never required a copyright notice 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.