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. "
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!
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/
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)
; 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
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
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
P. S. of course, you would never silently launch this on your office neighbor's mac. Never.
Herve S.
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.
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
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 *
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 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).
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
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.
It wont run on an iphone - its in pascal. Emulation or non-native/transpiled programs are forbidden, i heard.
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.
... 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.
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.