; Date: Tue May 29 2007
Dave Gilbert has an interesting blog entry, The Badness of JFree, quoting an email he received complaining about the business model he uses with JFreeChart. This points to a bigger issue of different ways to monetize work on an open source project. In his case the software is free and open source, but he sells documentation. His correspondent is finding this to be offensive.
All through it his correspondent says "Open source does not mean ... X". Clearly whoever wrote that has a particular conception of "Open Source" which goes beyond the official definitions ... the official definition is primarily about the license of the source code, and it doesn't cover licensing or distribution of anything else. (ref: opensource.org)
Since JFreeChart is Dave's project he gets to do with it as he wishes.
Some project authors write books related to their project. How is this any different from what Dave is doing?
Taking a step back for a moment ... you have a project 'P' .. to be open source the code for 'P' has to be distributed in the open source model. But there are ancillary items related to 'P'. Are those ancillary items part of P? Or are they separate from P?
My thought is it's up to the project leader to decide what is part of the project deliverables and what isn't.
For example let's take some of the issues around the OpenJDK project and its ancillary items. Like, the JCK or the platform and language specification. What we've done with the OpenJDK project is to open source Sun's implementation of Java. Well, 95% of Sun's implementation anyway. We didn't open source the JCK or other TCK's and we didn't open source the specifications.
We at Sun are treating those as ancillary items. As ancillary items they are not within the scope of the OpenJDK project. But it seems some people in the public may be thinking "Sun Open Sourced 'Java'" and be thinking that should mean we open sourced everything related to Java. Um... no. As the project leader we at Sun have chosen a specific path of what is in or outside the scope of the OpenJDK project. That's the role of every project leader, to decide what's inside or outside the scope of the project.