I feel good about Mac open source.
Many of my fellow Mac programmers have made reusable source code available under free licenses, such that any other programmer can use it in their applications. This abundant generosity impresses me, and at this point has moved me to build a catalog of this code.
This is that catalog.
By the way, I say “program name”, but the “programs” aren't necessarily whole applications; some of them aren't even code (such as M. Uli Kusterer's “Made with Cocoa” buttons or my own plus/minus button images).
The catalog is available in two formats:
At some point, I may write a CGI script to display both formats directly from a SQL database. But these two pages should always work.
You can suggest new frameworks and pieces of code (including your own) by email. See the front page for my email address. (I keep it heavily obscured so that spammer robots can't see it, and I hate repeating it.)
Please don't submit whole applications. A test app is OK, but a whole real application is not. I'm after code, libraries, and frameworks that can be simply dropped into a new application. For examples, see the list.
Also, please don't submit GPL'd code. See next section for why.
The short answer is: Because GPL'd code is not free.
Quoth the General Public License, version 2:
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
- You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
I'm not a lawyer, but my interpretation of the above is that any derivative work (program containing the reusable source code) must be licensed under the GPL if the source code being reused in it is also licensed under the GPL.
Thus my conclusion that code licensed under the GPL version 2 is not truly free-as-in-speech (because it forces you to use that license). And for that reason, I won't be putting GPLv2 code on this page.
In case you're wondering why there's Adium code listed here (which you might reasonably wonder, because Adium is licensed under GPLv2), that's because that the listed code is licensed under the BSD license. It's free, and reusable (and for the Mac); therefore, it's listed.