What Is The Spirit of Open Source?

code, open source 0 comments suggest edit

In my previous post, I attempted to make a distinction between Open Source and Open Source Software. Some folks took issue with the post and that’s great! I love a healthy debate. It’s an opportunity to learn. One minor request though. If you disagree with me, I do humbly ask that you read the whole post first before you go and rip me a new one.

It was interesting to me that critics fell into two opposing camps. There were those who felt that it was was disingenuous for me to use the term “open source software” to describe a Microsoft project that doesn’t accept contributions and is developed under a closed model, even if it is licensed under an open source license. Many of them accepted that, yes, ASP.NET MVC is OSS, but I still shouldn’t use the term.

While others felt that the license is the sole determining factor for open source and I wasn’t helping anybody by trying to expand the definition of “open source.” To my defense, I wasn’t trying to expand it so much as describe how I think a lot of people use the term today, but they have a good point.

Going back to the first camp, a common refrain I heard was that software that meets the Open Source Definition might “meet the letter of the law, but not the spirit of the law” when it comes to open source.

Interesting. But what is the “spirit of open source” that they speak of? What is the essential ingredient?

Looking For The Spirit

I assume they mean developing in the open and accepting contributions to be necessary ingredients to qualify a project as being in the spirit of open source. I started to dig into it. I expected that we should probably see references to these things all over the place when we look up the term “open source”.

Oddly enough, Wikipedia doesn’t really talk about those things in its article on Open Source, but hey, it’s Wikipedia.

But oddly enough, there’s no mention of accepting contributions in the Open Source Definition or pretty much anywhere in http://opensource.org/ that I could find. It doesn’t really address it.

Neither does any open source license have anything to say about the way the software is developed or whether the project accepts contributions.

Let’s take a look at the Free Software Foundation which is opposed to the term “Open Source” and might have a different definition of free software. I’m going to quote a small portion of this.

Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”.

A program is free software if the program’s users have the four essential freedoms:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

I looked for interviews from the pioneers of open source for more information. Richard Stallman reiterates the same points in this interview. What about Eric Raymond? Well he just links to http://opensource.org/. As you can see, he’s the President Emeritus of the Open Source Initiative (OSI) which created the OSD that I’ve been using as my definition.

I then asked Miguel De Icaza for his thoughts. Miguel is a developer with a long history in open source. He started the GNOME and Mono projects and has more open source experience in his pinky than I have in my entirety. He had some interesting insights.

In general, I am not sure where the idea came from that for something to be open source, the upstream maintainer had to take patches, that has never been the case.   Some maintainers are just too protective (qmail I believe for a long time did not take patches, or even engage in public discussions).   Others are just effectively too hard for average developers to get patches in (Linux kernel, C compilers) that they are effectively closed.

What gives?

Isn’t it odd that these concepts that we hold so dearly to as being part of the spirit of open source aren’t mentioned by these stewards of open source?

Maybe it’s because the essential ingredient to open source, the spirit of open source, is not accepting contributions, it’s freedom.

The freedom to look at, remix, and redistribute source code without fear of recrimination.

Even so, I still think accepting contributions and developing in the open are hugely important to any open source project. If I didn’t believe that, I wouldn’t be working at GitHub.

I started to think that perhaps a more apt term to describe that process is crowd sourcing. Crowd sourcing can provide many benefits, according to the article I linked to:

  • Problems can be explored at comparatively little cost, and often very quickly.
  • Payment is by results or even omitted.
  • The organization can tap a wider range of talent than might be present in its own organization.
  • By listening to the crowd, organizations gain first-hand insight on their customers’ desires.
  • The community may feel a brand-building kinship with the crowdsourcing organization, which is the result of an earned sense of ownership through contribution and collaboration.

But Miguel thought a better term is “open and collaborative development.” That’s the process that is so closely associated with developing open source software that it’s become synonymous with open source in the minds of many people. But it’s not the same thing because it’s possible to conduct open and collaborative development on a non-open source project.

Splitting Hairs?

I know some folks will continue to think I’m splitting hairs, which is an impressive feat if you think about it as I definitely don’t have the hands of a surgeon and hairs are so thin.

One counter argument might be that perhaps the original framing of “open source” was focused on freedoms, but what we refer to as open source today has evolved to include crowd sourcing as an essential component.

I can see that. It seems obvious to me that collaborative development in the open is a huge part of the culture surrounding open source. But being a core part of the culture doesn’t necessarily mean it’s in the spirit. A lot of people feel that drugs are a big part of the Burning Man culture, for example, but I don’t think it’s an essential part of its spirit. It’s the creativity and expression that forms the spirit of Burning Man.

Who Cares About The License?

Another point someone made is that the community of contributors is more beneficial than having an open source license. I addressed that point in my last post, but Miguel had a great take on this, emphasis mine.

The reason why the OSI definition was important is because it provided a foundation that allowed unlimited redistribution and serviceability for the code for the future, with the knowledge that there were no legal restrictions.  This is the foundation for Debian’s policies and in general, the test that must be passed for a project to be adopted.  Serviceability does not require talking to an upstream maintainer, it means having the means and rights to do so, even if the upstream distribution goes away, vanishes, dies, or moves on to greener pastures.

You could build the most open and collaborative project ever, but if the source code isn’t under a license that meets the open source definition, it may be possible for project to close shop and withdraw all your rights to the code.

With OSS code, that’s just not possible. A copyright holder of the source can close shop and stop giving you access to new addition they write, but they can’t retroactively withdraw the license to code they’ve already released under an OSI certified license.

And this is a real benefit, even with otherwised “closed” projects that are open source. Miguel gave me one example in relation to Mono.

A perfect example is all the code that we have taken from Microsoft that they open sourced and ran with it. In some cases we modify it/tweak it (DLR, BigInteger), in others we use as-is, but without it being open source, we would be years behind and would have never been able to build a lot of extra features that we now depend on.

Prove me wrong?

By the way, I’m open to be proven wrong and changing my mind. Heck, I’ve done it twice this week as Miguel convinced me that “Open Source” only requires the license. But if you do disagree with me, I’d love to see references that back up your point as opposed to unsubstantiated name calling.

I think this topic is tricky because it’s very easy to discuss whether software is licensed under an open source license. If we agree on the open source definition, or the free software definition, you can easily evaluate that yes, the software gives you the rights and freedoms mentioned earlier.

But it’s trickier to create strict definitions of what encompasses the spirit of anything, because people have different ideas around them. I know some folks that feel that commercial software goes against the spirit of open source. I tend to disagree pointing out that it’s the license that matters, and whether or not you make money from the software is tangential. But I digress.

I know I won’t convince everyone of my points. That’s fine. I enjoy a healthy debate. The only thing I hope to convince you of is that even if you disagree with me, that you can see I’ve provided good reasons for why I believe what I do and it’s not out of being disingenuous.

Collaboration is Good

In the end, I think it’s a huge benefit for any open source project to develop in an open collaborative manner. When I think of open source software, that’s the development model that comes first in my mind. But, if you don’t follow that model (perhaps for good reasons, maybe for bad reasons) but do license the software under an open source license, I will still recognize your project as an open source project.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.

Comments

avatar

26 responses

  1. Avatar for Craig Dean
    Craig Dean February 22nd, 2012

    HACKER!
    Sorry, couldn't resist name calling after all that "don't name call me", it's a fault I know.
    Seriously though, I actually found this article really helped clear some things up in my own thinking. Especially as I move to OS some of our internal projects.
    I like the idea that I don't 'have' to accept contributions - which could break our enterprise usage - but that I can still contribute to the community as a whole, at least with some code samples, and working code that 'works for us so may be useful for you'.
    I also like the idea of crowd sourcing to 'improve my products' but am interested to see how the cost/benefit works out. Where supporting and engaging in that community is a clear cost - does it really outweigh the potential benefits? I hope it does, and it certainly seems to on bigger active projects, but the jury is out for now.

  2. Avatar for Pop Catalin
    Pop Catalin February 22nd, 2012

    To give this another spin:
    An (active) Open Source project that only gives and never takes "anything" back, does not acknowledge the "value" of it's users. Those that work to extend and enhance the very project you released. You don't acknowledge your community if you don't take back.
    Why would you allow your users to modify the software you release, in order to never acknowledge the fact that they changed it or modified it. Well maybe you do in other ways, but the only direct acknowledgement is taking back source contributions.(This is an extreme example, because open source projects usually do take back from community even if it's just borrowing ideas from derivative works)
    Is it still open source if you never take back contributions? That's a definitive yes!. Is never taking back contributions in the spirit of open source? That's almost a definitive no!
    Taking back is not an requirement defined anywhere, it's just an widely encountered expectation.

  3. Avatar for Joe Brinkman
    Joe Brinkman February 22nd, 2012

    I agree 100% that Open Source is about the freedom not the development methodology. I blogged about this same issue in 2007 and the arguments haven't changed much in the last 5 years. Ultimately, people on the outside of a project want more control and access and they use the "Open Source" argument as a way to try and gain that access.
    Projects should feel free to organize their development in a manner that works for the project team. If they are comfortable with Waterfall methodology, and have proven that it works for them, why should they change? If they have an Open Source project that used a closed development methodology, and have proven that it works for them, why should they change? Just because the community likes or wants a different development methodology doesn't mean the project should change. Teams need to find what works for them and stick with it. People on the outside of projects rarely have the complete picture and don't understand all the factors which are driving the use of a certain development methodology.

  4. Avatar for KevDog
    KevDog February 22nd, 2012

    I believe you will find that the definition of open source is, "Any wording that excludes whatever Microsoft is doing".

  5. Avatar for Jeff
    Jeff February 22nd, 2012

    You will never be able to win with some people. They want banana's, you bring them banana's, oh no they are the wrong kind of banana's. I wouldn't lose any sleep over them.

  6. Avatar for David Haze
    David Haze February 22nd, 2012

    Geez Phil,
    This is another long noise-filled rant to somehow prove your ex-step child ASP.NET MVC exhibits the "Spirit of OSS" of other projects.
    I want to be expressly clear here "ASP.NET MVC" is not and should not be the poster child of OSS.
    As you've noted earlier MVC is "tossed over the wall OSS" - this is not the same as "Spirit of OSS" projects which fosters collaboration and accepts external contributors and fixes where the turnaround time for fixes in active OSS projects is much greater. You work at GitHub now so you should know the difference. In fact MVC OSS might as well be hosted on a FTP site since most of the features of a collaborative DVCS like Git/Hub dont make it into consideration in the development of the project.
    Also lets not forget that MVC's best feature Razor is not OSS and Razor is pretty much tied to MVC since VS.NET intellisense breaks for any other web framework that wants to make use of it.
    The commercial reality is there will never be a successful fork of MVC which remains the only popular "OSS" web framework that doesn't accept outside contributions. So what doesn't get created and shipped by Microsoft will never see the light of day.
    And these long release cycles on MVC means it takes forever to get relevant features shipped in the default install - case in point Bundling and minification which has only now made it into MVC 4 years after any other pro OSS web framework. In the years that this feature was absent there were plenty of OSS .NET projects to fill this void - what has happened to these projects now? They will effectively be killed by the default MVC option. So rather than working with the external the .NET OSS community - potentially contributing and enhancing one of the existing options, MS releases actively kills them - pushing their preferred proprietary tools at every turn. Because of this we now have non-OSS libs like EntityFramework bundled by default. Now tell me which true "OSS" project prefers "non-OSS" proprietary components in their defaults?

    This is because MS & MVC doesn't accept a single external .NET project, even the popular ones - so you'll find the selection criteria of the default options aren't based on popularity, merit or community input.
    There's plenty wrong with MVC and there's a lot of devs wanting to add fixes to it, but MS's reluctance to take on external contributions will ensure any fixes/helpers won't make it into the core project. If developers have an issue or want to by-pass a leaky abstraction they have no re-course but to constantly add work arounds which is in contrast to "true OSS" projects who immediately patch their own fork and send a pull request so there feature makes it into the core mainstream branch. Or otherwise gets rejected where another solution would be proposed or a capability added so it makes it easier to extend in future - either way the project evolves with outside influence.
    This is how "true OSS" projects evolve - and MVC doesn't meet this definition.

  7. Avatar for A. Freight
    A. Freight February 22nd, 2012

    We developers work so much with acronyms that I guess we have a tendency to bury or forget or never look for the real meaning behind the 3 or 4 letters-put-together to make our jobs easier. Thanks for a great article and more than anything for sharing your view.

  8. Avatar for John Hoff
    John Hoff February 22nd, 2012

    To me, open source is about all about the users of software, not the developers. Developers really are a privileged caste in the software world. I think that is the point of so many organizations NOT mentioning how open source software is developed and instead focusing on the users.

  9. Avatar for Matthew
    Matthew February 22nd, 2012

    Personally it has always struck me that the biggest annoyance around the way that MVC is developed is not being able to see the ongoing commits. The taking of outside contribution is purely secondary for me. But on that topic, I would love to hear your perspective (given your former position on the team) on why outside contribution is not taken. It seems that the benefits would far outweigh the cost.
    All that said, having access to the MVC source has been a huge boon to me both as a learning tool and for the ability to go just a bit deeper in a tough debug situation. It is a great step in openness for Microsoft and I think it will cause many other companies to open further.

  10. Avatar for haacked
    haacked February 22nd, 2012

    @David you called my post a "long noise filled rant" but you haven't directly refuted any of my points or the citations I provided.
    I think you make a great argument that closed non-collaborative development sucks. I agree! I worked my ass off at Microsoft to try and change that, and I like to think that I and my cohorts got the ship moving a bit.
    Perhaps I don't have the same level of anger that others do because I understand all the barriers (real and perceived) for Microsoft to do so, but we were knocking them down one by one. Unfortunately, I am bound by confidentiality so I can't say more than that.
    I think NuGet is evidence of the ball rolling as it's developed in the open in a collaborative manner. Trying to get ASP.NET MVC there was more challenging because it's an older project, and NuGet was brand new at the time.
    My post is not meant to make excuses for Microsoft. Why would I care? I don't work there any longer. I think they should move to a more open and collaborative model. I think it's their loss that they don't.
    The point I'm making is one I'd make whether or not I ever worked at Microsoft. It's the same point Miguel (non-MS) makes.
    I believe you're mixing the terms "open source" and "open and collaborative". You state that open and collaborative is in the "true spirit of open source". Ok, convince me. My post cites the pioneers of open source. It cites the open source and free software definitions. I would love to see your citations.
    Again, I totally and completely believe in the value of open collaboration. I also believe it's a core part of the open source culture. But I don't think it's disingenuous in any way to call a project that's not open and collaborative, but has an OSS license, an open source project.
    I may not like the way they develop it, but that doesn't give me the right to redefine terms to suit my preference. I'd rather be crisp with definitions and say something like, "Yeah, they're open source but they're not open and collaborative."
    I'd like to address two other points you make.
    > Now tell me which true "OSS" project prefers "non-OSS"
    > proprietary components in their defaults?
    Well to be fair, ASP.NET and the .NET Framework is non-OSS and proprietary. I hope even that will change. Are you arguing that nothing in .NET can thus be called open source?
    > This is how "true OSS" projects evolve - and MVC doesn't meet
    > this definition.
    I'd say this is how the good OSS projects evolve and truly open and collaborative projects evolve, but it's still true OSS.
    Just to reiterate, because I feel like this is the point that gets missed in the heat of discussion, I'm not arguing or trying to excuse the closed approach that Microsoft takes.
    I agree with you. I feel like a lot of folks think that's what we're arguing about. What I'm saying is what we're really arguing about are definitions. I don't think OSS means what you think it means.
    I see open source as describing the product and the freedom granted to the users of the product and I cite plenty of evidence for this. Your argument seems to add on extra value judgments to the term that I think is better associated with a different term.

    Thus MVC is truly OSS, but it's also not as open and collaborative to the full extent it could be.

    Aside:
    While I say it's non-collaborative, at the very least the team has been good in listening to people in the community for its direction. Much better than most other teams at Microsoft. It's just that there is no one voice in the community so around a half is always disappointed with every decision and cites it as evidence of MS not getting it.

  11. Avatar for bcs
    bcs February 22nd, 2012

    If you want an example of a project that uses “open and collaborative development” but is not FOSS, take a look at DMD https://github.com/D-Programming-Language/dmd
    For legal/legacy reasons it will likely never be released under a FOSS licence, but the full source code is available and much or most of the recent development has been via collaborative modes.

  12. Avatar for KevDog
    KevDog February 22nd, 2012

    @David,
    Methinks thou art the one ranting.
    "True OSS"? Programmer, please.
    Open source is only and exactly that, you can see the source. Collaboration is not necessary.

  13. Avatar for CMike
    CMike February 22nd, 2012

    I thought the "spirit of open source" was the philosophical rejection of the concept of intellectual property and that "proprietary is immoral." Isn't this precisely what RMS asserts when he says "all software should be free?"
    I have another freedom to consider: my FREEDOM to profit from the fruits of my intellect. I am not opposed to eventually giving away my work, but the ability to profit from closed source software provides financial resources to drive further innovation. If DOS or Windows had been "free" would we have Microsoft Office, Windows NT, .NET, or myriad other technologies which Microsoft has provided over the years? How about Apple? Woz wanted to give away the specs to the Apple; Jobs made a profitable business of it (twice!) which created the conditions which support really smart people doing really creative and innovative work. How about Google? They use "free" software but they don't give away their recipe for how to build a search engine just like theirs. Or the source code for Gmail. Or Google Docs. Is that so evil?
    Give away your software in the name of freedom if that's what makes you happy: just don't force your warped sense of morality on me and tell me I cannot produce proprietary code or that I shouldn't profit from it.

  14. Avatar for Matt Ludlum
    Matt Ludlum February 22nd, 2012

    I think an OS license is the price to play. You don't get to release source code and call it open source. We need to know that if we take it, you won't slap us for taking a cookie from the cookie jar(IE-we utilize the 4 freedoms).
    You can do just that, and I will agree your code is OS. But you are missing the real point and idea of an open source project(eg, title of this article). You want to foster community and utilize that fast-feedback loop that comes with working in the light of day.
    It's a darn shame that MVC doesn't fully utilize it, but it's all about baby steps I guess. I hope that folks behind that project(which I think seem pretty cozy to NuGet) can really push to a more community oriented development process.
    As an aside, I've been following NuGet since 1.0 and it makes me very excited to see the blossoming community that accompanies the project which embodies the spirit of open source.

  15. Avatar for haacked
    haacked February 22nd, 2012

    @CMike I think you're confusing Free Software with Open Source, which is another discussion entirely! RMS is not a fan of the term "open source" and rejects it. So while RMS is against intellectual property, open source licenses are not necessarily against that.
    For example, permissive licenses such as BSD, MIT, and MS-PL allow you to take their code, change it, and keep your *changes* proprietary. How's that for business friendly?
    And giving away software freely doesn't preclude one from having a business model. Red Hat seems to be doing well (last I heard) building a business on Linux.
    So in all the discussions here, I don't think anyone is telling you you can't produce proprietary code, except for maybe RMS. :)

  16. Avatar for CMike
    CMike February 22nd, 2012

    Okay, I keyed in on RMS and his open source communism in my first comment. Certainly there are the philosophical warriors like RMS, but I have always considered (projected? hoped?) that the spirit of the open source community is "we like to build neat stuff for our own sake and for the fun of it."
    Btw, I think software should be either proprietary (hidden or published source -- take your pick) or public domain. The GPL, LGPL, and BSD-like licenses all imply either a disdain for intellectual/private property or a need on the part of the authors for ego stroking. If the project is worth it then it will thrive in the public domain, like SQLite.

  17. Avatar for haacked
    haacked February 23rd, 2012

    @Cmike, regarding this comment:

    The GPL, LGPL, and BSD-like licenses all imply either a disdain for intellectual/private property or a need on the part of the authors for ego stroking.


    I assume you when you say disdain for IP, you're talking about the GPL. And when you talk about ego stroking, you're referring to BSD-like licenses.
    But I don't think BSD like licenses are about ego-stroking. That may be a motivator for some, but the BSD and like licenses also provide protections for those licensing the software. For example, they make it clear that there is no warranty provided with the software and many include clauses so that if a user of the software were to bring a patent claim against them, the license is immediately revoked.
    I think all of these licenses show a clear respect for IP. A copyright holder is the owner of the content he or she creates and has *every* right to release that content under terms they want. These licenses are clear expressions of that right by spelling out clearly what you can and cannot do with the software. This delineation of rights is the privilege of the copyright holder.
    A copyright holder can also choose not to give out licenses to the source. But when they do, it's nice to be able to clearly define the conditions in doing so.

  18. Avatar for Mark Heath
    Mark Heath February 23rd, 2012

    I disagree with the idea that an open source project is obligated in some way to accept contributions. Yes, it is nice if people can contribute, but there are lots of reasons why I might reject a patch (I have a blog post brewing on this). I learned this the hard way after accepting all the patches that came along on one of my projects and finding that they often introduced major bugs that I had to fix myself. Also I had people moaning on the forums that there was no documentation about these features, and the submitter of a patch rarely if ever sticks around on the forums to support people with the feature they have added. In short I have become a lot more cautious about accepting contributions.
    Then I have plenty of other open source projects that I just put out there to share my work, but am no longer actively maintaining them. I simply have no time or motivation to accept contributions. Given how easy it is to create public forks these days, I don't see that there is any problem that I might not be accepting further changes.

  19. Avatar for Robin Massart
    Robin Massart February 23rd, 2012

    Surely the whole argument about being able to contribute to the source is a bit mute in this day and age of forking with services like github?

  20. Avatar for Tim Sygitowicz
    Tim Sygitowicz February 24th, 2012

    IMHO, the term "Open Source Project" should refer to the project itself (i.e. the open and collaborative development of the software), vs. "Open Source Software" which should refer to finished product (i.e. the rights of the user regarding the software, and it's source code). How can a 'Project' be open source, and not accept contributions? The software can be open source, and the [finished] source code can be open source, but the 'Project' should not be considered 'Open' unless it accepts contributions. That said, I don't think that current definitions of these terms agree with me. Perhaps the definitions of these terms should be 're-thunk'.

  21. Avatar for Dan
    Dan February 24th, 2012
    The GPL, LGPL, and BSD-like licenses all imply either a disdain for intellectual/private property or a need on the part of the authors for ego stroking.


    I use BSD to disclaim liability and to clearly tell you that that you can use it for whatever you want.
    That doesn't seem like ego stroking to me.

  22. Avatar for PhilH
    PhilH February 26th, 2012

    It seems to me that this "open development" requirement is something new. In fact I'd never seen anyone really complain about it until Android came along. I'd see people talk about the difficulty in getting to work on Debian and some other projects. It appears to be a way to lash out at large corporations that some may feel are "using" open source for publicity. And thats why you now have people saying things like "its open source but not open" or "its only kinda open" or "its not really open" despite what the license says.
    But this doesn't make sense because of one of the points you brought up. As long as the code is released under a license that permits anyone can take and form an open development community around it. And thats what open source in my mind was always about. I could change code to suit my needs and if others needed the same things we could come together and develop a fork. So all of this new talk of needing to be able to contribute to the parent project is rather ridiculous to me.

  23. Avatar for Residuum
    Residuum February 29th, 2012

    @CMike:

    The GPL, LGPL, and BSD-like licenses all imply either a disdain for intellectual/private property or a need on the part of the authors for ego stroking


    I do not think that these licenses imply a disdain for intellectual property (whatever IP really means: Copyright? Patents? All of these?). I would say, it is exactly the opposite: When someone violates a GPL license, this person is breaking copyright laws, and shows therefore him/herself a disdain for "intellectual property".
    About "ego stroking": What is wrong with wanting to be identified with your own work, that you give to the community on your terms?

    I think software should be either proprietary (hidden or published source -- take your pick) or public domain.


    Nobody prevents you from doing that with your source - you may even release your code on your own terms, e.g. a (constructed) Christian License, that forbids users to run your software during church hours on Sundays and holidays.
    Now to the "spirit" of Open Source: IMHO, it is "just" the licenses, but that is a big deal in itself.

  24. Avatar for lynnae
    lynnae March 1st, 2012

    just had a coworker say "I don't think open source actually exists. It's just a theory. I can't understand that business model"
    It's this attitude that people have as well. Not arguing about what open source is, but dismissing it completely.

  25. Avatar for Glenn Block
    Glenn Block March 2nd, 2012

    Thanks for posting this Phil! I am so tired of people saying a project that shares it's source under a proper license is not OSS. It's good to see some clarification.
    Don't get me wrong, take backs / accepting patches are awesome and i am a huge supporter of that if ti makes sense.

  26. Avatar for Emile
    Emile May 7th, 2012

    I totally agree with david, mvc really is a toss over the wall in regards to open source. Lot's of questions regarding Microsoft's open source commitment can be asked from just looking at the past. Im referring to projects such as IronRuby, IronPython, Irony and such. Even Mono, which is such a beautiful and committed product needs to do it largely by themselves, and porting libraries have been difficult due to licenses issues. Yes, asp.net mvc is now open source. Good work, but why not host it on Github? Github is now the defacto standard for almost every open source developer. Because Codeplex is Microsoft's thing? Even when their is something as superior as Github and with a huge demand from the OS community, still choose for their own code hosting environment. Open source, is not just spitting your code out in public or slapping a license on it. It's commitment and passion to improve and help and work together to make things better, even if that means killing your darlings from time to time.
    If there is something I've learned from developing for Microsoft the last 10 years, is that they really don't look around at the innovative things that are being done in the OSS world but rather want to invent the square wheel themselves and over architect things.
    Even after all these years, we still don't have such a complete and coherent development environment as in Rails or Node.js. Where's the Capistrano, Capybara, Tilt, Rack and other brilliant frameworks? For the most part I love C# as a programming language. But the lack of good productive frameworks make me switch to OSS whenever i am not working for enterprise clients.