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. "
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!
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/
; 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.
Heck, I'm not even interested in Office 2010 now :)
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
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.
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.
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
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.