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. "
It's open source now? ;-)
Hopefully this starts a trend where companies release their source to the world once they're done with it.
Once Hypercard is open source then the world will be complete.
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!
; FUNCTION Monkey: BOOLEAN;
TST MonkeyLives
Funcy monkey.
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.
Funny how Macs now lack the equivalent of MacPaint.
The copyright notice included says, "This Material is Copyright © 1984 Apple Inc. and is made available only for non-commercial use."
Pretty sure that would preclude it from being used for anything except academic study. Certainly it would not be allowed to be contributed to any GPL projects.
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.
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
Truly. That program was a major milestone for computers. With QuickDraw, no less.
Last missing point is the whole Mac OS rom, the early System and including the Finder. That would be amazing...
--fred
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
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.
What I find interesting about these old Mac programs is how many of them were written in Pascal - a much more sane and friendlier language for the day. I think it enabled programmers to be more creative and focus more on solving the problem at hand. It seems back then there were two main schools of thought on how to write general application software back then, Pascal on machines like the Perq, Lisa, and Mac, and C from the Unix world. (Of course plenty of other domain specific languages too) In a way it is too bad that the C style languages have taken over these days (C++, Java, c#, etc)
Without cryptic comments like 1750 ; RIP JSB the source code is not very entertaining.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
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 :)
;
;
; 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
Here are direct links to downloads (not slashdotted at time of posting):
MacPaint http://s3data.computerhistory.org/102658076_macpaint_acc.zip
QuickDraw http://s3data.computerhistory.org/102658076_quickdraw_acc.zip
Yay me! ^^
Linux users can now port MacPaint to their favourite OS and get rid of this Gimp crap.
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 reasonable test...)
Herve S.
If you are going to talk about software, you should fucking mention the license. Otherwise it's just noise.
Should I ever meet somebody IRL who tells me (s)he is a /. editor, I will fucking pluck their eyes out. Promise.
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 MacPaint or VisiCalc or other classics easy enough, and do so better using modern coding techniques, if only I can run the program enough.
Likewise, while source is valuable for parsing old data files, given enough data in that format I can deduce the content and write a parser from scratch.
Oh sure having the source helps, but lack thereof does not render the binary useless.
Can we get a "-1 Wrong" moderation option?
It wont run on an iphone - its in pascal. Emulation or non-native/transpiled programs are forbidden, i heard.
> The Lisa was never sold!
Ah, I think what the writer was trying to say was that the disks were the old Apple ][ / Lisa dual-sided 5 1/4 inch drives, which were the original drives intended for the Mac.
They actually did a small production run of those, for internal use, so there were Lisas and Macs with 5 1/4 inch drives, and a lot of development software was on those style of floppies.
...is for Apple to revive the venerable MacPaint brand and release an image editing program based on CoreImage. Could be part of iLife, could be a developer sample code project, but either way, the Mac really should ship with a way for any user to take full advantage of all the investment Apple put into that framework.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
we'll be getting the source for the first version of iOS around 2035!
Or we could just look at the latest Android source around now.
If you diagrammed the sentence, you would find out that the "that had never been released to the world" refers back to "a flavor of the old Lisa" which many would take to mean a variant. It's easy to believe that not all Lisa variants were released to the world.
He just needs to implement QuickDraw for the TI-89. (yikes!)
“Common sense is not so common.” — Voltaire
If the copyright has expired, the source code is not private any more, it's public domain.
Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.
As far as I know, all versions of Mac System (i.e. the operating system, not yet called "Mac OS" in these days) before v7 have been written almost completely in Pascal. Of course, there may have been contained many portions of Assembler (a.k.a. "assembly") code as well.
Starting with System 7, the Mac operating system had been re-coded in C with most applications were following soon.
Walter.
P.S. Bill Atkinson, author of MacPaint, later created the HyperCard environment, which included a subset of MacPaint as a graphics module. As to graphics, HyperCard contained a fully scriptable MacPaint, with HyperTalk (written by Dan Winkler) as script language.
http://en.wikipedia.org/wiki/HyperCard
http://en.wikipedia.org/wiki/HyperTalk
... 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)
... 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.
You know what's more annoying than fanbois?
So what does that make you? So sad that you hate people who talk about something you allegedly have no interest in? And come off it - you're not a fence sitter. You're foaming at the mouth with insults, because someone dared to make fun of your platform. Get a life.
Get a fucking life, moron.
Says the hateboy (it's spelled "boy" - look it up) who spends his life trolling anonymously on Slashdot.
Just because we criticise a company, doesn't mean we "hate". The person who's sad is the one who's foaming at the mouth to post insults - and doesn't even have the decency to post with his login. And the anonymous cowards who mod me down and mod you up.
Since the Apple fanaticism is so bad round here now that valid criticisms, even posted humorously, are modded down, whilst insults are modded up: Get a fucking life yourself, tosser.
In high res - 6 colors - black, white, blue, orange, green, purple. But two adjacent bytes were either blue/orange or green/purple depending on the high bit for the first byte, as I recall.....
I still pronounce the root beer as Hi-Res.
You mean besides Paintbrush?
Paintbrush is a simple [and free] paint program for Mac OS X, reminiscent of Microsoft Paint and Apple’s own now-defunct MacPaint. It provides users with a means to make simple images quickly, something which has been noticeably absent from the Mac for years.
http://paintbrush.sourceforge.net/
And there are other equally FREE alternatives Seashore (GIMP-based) or Pixen 3.