Defining Open Source

As I mentioned two weeks ago, my plan is to contribute $10,000 to the .NET open source ecosystem. $5,000 from me, and a matching donation of $5,000 from Microsoft.


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2007/07/defining-open-source.html

Microsoft never submitted their licenses for approval. Jeff is wrong and insulting to claim the fault lies with the OSI.

I think you’re being a little unfair to NDoc. NDoc 1.* was (and is) open source, available at http://ndoc.sourceforge.net/. The original developer decided not to make NDoc 2 (which was never released in any public form) open source – I regret that, but it’s his right, I guess. I don’t see anything in your three rules which would prevent such a circumstance occurring again.

Sign me up with those who think requiring that the code be accessible through some particular mechanism is a ridiculous requirement. Whenever I find one of those on the net, I generally just tell the folks to go dry-hump a rotted knothole, because I don’t have time to set up all the picayune version control systems that exist out there. (There isn’t one of them that’s easy to set up, or easy to use. Seriously. Am I made of free time? Does it grow on trees somewhere?)

What about a wiki?
Anyway, just added Subtext and filled in all the info
Simo

“Is a project truly open source if it only has one developer? Is a project truly open source if it has a cabal of three developers who summarily ignore all outside suggestions and contributions?”

If it has an OSI-approved license, I think it is. After all, if the authors don’t take contributions, you can always fork the project. And if the authors get pissed, point them to their own license. It’s as simple as that.

Could someone point me to why the OSI doesn’t want MS licenses?

I only could find old eWeek news which suggested MS didn’t submit them:

“Someone submitted the Microsoft Community License, one of our Shared Source licenses, to the OSI without our knowledge or approval, but the OSI contacted us and asked if we wanted them to proceed with that,” said Bill Hilf, Microsoft’s director for platform technology strategy. “We told them that we did not want to be reactive and needed time to think about it.”

and

“So far, Microsoft’s licenses have not yet been submitted to License-Discuss for public discussion, but OSI is hopeful that they will be,” she [Danese Cooper] said.

Peace,
-stephan

Stephan Schmidt :: stephan@reposita.org
Reposita Open Source - Monitor your software development
http://www.reposita.org
Blog at http://stephan.reposita.org - No signal. No noise.

Personally, I don’t see how any of the three requirements except #1 is required for it to be “open source” (rather than “collaborative open source”, say), since as long as the code is freely available and not restricted from re-use, anyone can modify and host the modification any way they want.

(Not that it really matters, of course; your goal is presumably to reward interesting projects that Iare/i collaborative, not merely open source, as I see you say in the comments above.)

It is hilarious to see the Open Source Definition Wars, though. I’m glad I’m not a True Believer, even of the relatively reformist OSI school, let alone the Doctrinaire Stallmanites.

I’ve added the information for BlogEngine.net

Hmmmm…does anyone have a link to some article detailing why it’s OSI that are at fault here, as implied by Jeff?

According to[0][1] MS explicitly requested that OSI not evaluate the license. Sounds more like it’s MS that have the stick up their ass to me, and that the OSI would happily evaluate MSs licenses on the same criteria as all others.

Until some 3rd party I trust[2] has had actual lawyers look over MSs licenses for me, I’m not going to use them for anything. I gave up trusting MS on anything a long time ago.

So, the question is, why don’t MS want their licenses looked over by the OSI? What are they afraid the OSI will find?

[0] http://www.eweek.com/article2/0,1895,1875238,00.asp
[1] http://slashdot.org/article.pl?sid=06/08/23/0211232
[2] Currently limited to OSI[3], the FSF[4] and debian-legal[5]
[3] http://www.opensource.org/licenses/category
[4] http://www.fsf.org/licensing/licenses/[6]
[5] http://www.debian.org/legal/licenses/
[6] Which lists “Microsoft’s Shared Source CLI, C#, and Jscript License” as “Non-Free”, with reasons why it falls into that category.

Isn’t all this discussion about MS Shared Source licensing moot? Are there any non-Microsoft projects that actually use this license?

Maybe it’s moot WRT the issue at hand, but this blog is pretty well respected by search engines. If people search for “microsoft open source license” and see this quite high up in the list, and there’s an unchallenged assertion that OSI are instigating some kind of pissing contest with MS over certifying their licenses, they might be likely to believe it.

I just want something to back up that assertion as I can’t find anything myself, or an acknowledgement that it’s MS who are the only ones who stand in the way of their licenses being certified.

Or, if such an assertion was unintended (it’s entirely possible I’m reading the original post wrong) then a note that that’s the case would be nice.

I would say CastleProject by far, and then Cuyahoga, Nunit, Log4net and Nini, if you want to give the prize to a wider community projects.
For something more specific (with smaller communities), but I believe still usefull, and releated to the field in which I am working (GIS), I would say: MSSqlSpatial, NetTopology Suite, SharpMap, NHibernate Spatial, and zigGIS.

I would say CastleProject by far, and then Cuyahoga, Nunit, Log4net and Nini, if you want to give a prize to a wider community projects.
For something more specific, but I believe still usefull, and releated to the field in which I am working (GIS), I would say: MS Spatial, NetTopology Suite and zigGIS.

retrieve the read-only public code using a source control tool, and potentially check in changes to the codebase if granted appropriate permissions.

What’s the difference between checking-out the source code from SVN (or whatever) without being able to submit changes, and downloading a ZIP file containing the latest build? Since write access to the codebase is optional (in your requirements), I can’t see where the difference is. They just are two different methods to retrieve the latest builds (and IMHO the ZIP file is way simpler for the users).

Anyway, we (ScrewTurn Wiki) have a private SVN repository, and we’re not going to make it public just to be eligible (it wouldn’t be fair, and I don’t want it to be public anyway), but we upload a nightly build every night, for both the current (2.0.x) and next (2.1) versions.

We’re starting to have a pretty big community, just take a look at out forums: there are guys who post plugins, patches and improvements.

Any thought?

The project must use a commonly available method of public source control. SourceForge, CodePlex, Google Code, whatever. Other developers should be able to retrieve the read-only public code using a source control tool, and potentially check in changes to the codebase if granted appropriate permissions. If the only way to get to the source code is via HTTP download of a ZIP file… your project is ineligible.

This one doesn’t make sense:

  • “Public source control” seems to mean “public FFA project host”, which is stupid, one can have a world-readable source control without using public hosts e.g. http://selenic.com/repo/hg?style=gitweb is completely public yet on a private host

  • For a very long time, the Linux kernel worked through tarball downloads from public repositories, are you saying that it wasn’t “open source” because there was no public official SCM repo?

  • Any sizable OSS project will only have a very small core of people with the commit bit, often a single unique maintainer and sometimes a set of “core devs” who don’t have commit rights but are trusted by the main maintainer

Seriously, this point doesn’t make sense. If I can trivially get the source and can send patches back to the maintainer for review/inclusion, the “four freedoms” of the FSF are perfectly fulfilled and I don’t see how you could say the project is not “open source”.

I have two comments.

The first is on the requirement that there be contributions from users. I’ve found the amount of contributions one gets to one’s Free Software project depends greatly on the kind of project it is. I had a programmers tool (a parser generator) that had only a few users, but more contributions than I could keep up with. On the other hand, I had a decidedly end-user program (the SETI@Home Service) that had tons of users, was mirrored on two continents, but I never had a single source contribution from a user.

The second comment is about your licensing allowances. Others have talked about the fact that MS’s “share source” licenses[0] are not Open Source, so I won’t get into that. However, they do not support the 4 freedoms either.

* The freedom to run the program, for any purpose.

The “shared source” licenses do not allow use for “commercial purposes” or distrubtion to anyone who is going to use it for “commercial purposes”.

* The freedom to study how the program works, and adapt it to your needs.

Again, if my needs happen to be “commercial”, I can’t adapt it to them.

[0] http://msdn.microsoft.com/msdn-files/027/001/901/ShSourceCLIbetaLicense.htm

If you want to support “shared source” licenses, that’s fine. However, you shouldn’t talk about them as if they are OSS or Free Software, as they are not.

T.E.D. - the OSI open source defintion[0] does not include the FSF’s “four freedoms”[1]. Licenses which the FSF certify as “non-free” can still be “open source” according to the OSI.

[0] http://www.opensource.org/docs/osd
[1] http://www.fsf.org/licensing/essays/free-sw.html

Adam wrote:
Until some 3rd party I trust[2] has had actual lawyers look over MSs
licenses for me, I’m not going to use them for anything. I gave up
trusting MS on anything a long time ago.

[2] Currently limited to OSI[3], the FSF[4] and debian-legal[5]

Actually, the FSF has looked over MS’s licenses for you. It has been determined to be a “Non-Free Software License”, which is the lowest designation of freedom they give. From http://www.gnu.org/licenses/license-list.html :

The following licenses do not qualify as free software licenses. A
non-free license is automatically incompatible with the GNU GPL.

Of course, we urge you to avoid using non-free software licenses,
and to avoid non-free software in general.

There is no way we could list all the known non-free software
licenses here; after all, every proprietary software company has its
own. We focus here on licenses that are often mistaken for free
software licenses but are, in fact, not free software licenses.

Microsoft’s Shared Source CLI, C#, and Jscript License

This license does not permit commercial distribution, and only 
allows commercial use under certain circumstances.

Microsoft has other licenses which it describes as “Shared 
Source”, some of which have different restrictions.

Adam wrote:

T.E.D. - the OSI open source defintion[0] does not include the FSF’s “four freedoms”

True. I’m sorry if I implied they did, I certainly didn’t mean to. I only went into the four freedoms because Jeff put them in the OP. Other people (including yourself) seem to be doing a good job of explaining why “shared source” != Open Source, so I didn’t go into that.