Archive for the ‘commercial’ Category

Open source or Open Core or Commercial… Does it matter??

Июль 6th, 2010
This is my 2 cents in the Open Source vs. Open Code vs. Commercial debate. And it's a long one...

Maybe some of you reading this are offended already, but bear with me, I'll get there. The way I see the Open Source model, having worked with OSS at MySQL for 6+ years now, is that this is a great way of developing software. Not brilliant, but great, but I'll get there also.

Users of OSS, in my mind, are OSS users for one or more of three reasons:
  • It's Open - The users using OSS for this reason believes that being open is in and of itself a great thing, enough so to use OSS even when non-OSS is less expensive and/or better.
  • Cost - OSS is typically less expensive than non-OSS, and this is the reason these users get here. There are then 2 subgroups here, one that represents users that just aren't funded at all, many websites are in this category, the users building Joomla and Drupal sites and the like, I think you get the point. The second group are those that have funding, but would rather spend their money on luxury items and a new car than of a software license.
  • Technology - This is a category that many think they are in, but I don't think this is mostly not the case. These are the users on a unique piece of software that is either not existing as non-OSS, or where the OSS variations are so much more powerful than the commercial counterparts. In all honesty, although I am aware these cases exist, I do not think that that there are THAT many. But there are those there Cost + Technology plays in, i.e. even though a commercial option exists, it is just too expensive.
OK, so now we know (what I think) are the reasons that Open Source exists, is in wide use and is growing. For the first group, the ones that see Openness as a good enough reason in and of itself, I think this is a smaller group of the total number of users. But that openness is not really, in my mind, well defined.

If Oracle would take the sourcecode for the Oracle database and release it under GPL, then it would be Open in most peoples mind I guess. But that piece of code is massive, and few people outside the Oracle developers would have the time, resources and knowledge to understand, extend and modify it, so what how Open is it really then? I think to an extent MySQL is case in point here, although it is GPL licenced and the sourcecode is open and free, there are few outside contributors, as compared to the large number of users. I think most users building a website using Drupal cares much about MySQL being open or closed or whatever. I think most of them care about the cost being low. And one sure could argue that low cost comes from the source being open, that is probably true to a large extent, but that doesn't mean that commercial software or non-OSS also can be low cost (shareware for example).

What this boils down to, in my mind then, is that although we all enjoy the low cost of OSS, less care about it really being open and if so how, and more about it being inexpensive. And I say that as someone who doesn't actually mind reading sourcecode, and this is something I do on a regular basis, read and sometimes tinker with the MySQL source. But I really do not think that I am typical here.

And all this is not to say that there is something wrong with OSS, quite the opposite, but often it is more about cost than actual openness. And this is worrying, but there are exceptions. Linux is one such example, although the kernel is since long ago developed by a rather small closely knit community, utilities and programs surrounding and extending the kernel, such as modules, the GNU packages and that stuff, are developed separately from this group, by individuals or groups of them with specific needs or knowledge. The key here is the open interfaces. You don't have to understand every aspect of the Linux kernel to develop a well working and efficient utility or even kernel module.

But I do not think that even Linux is developed enough in this area as I would like it to see. To me, who really believe that Open Source Software is a good thing and an excellent model for development, I would like to see an even more "contributor friendly" architecture. I think Unix got a long way here in it's early days, with the principles of simple and easy to use APIs (like pipes) and programs could do one hing and do it well. But those days are gone now, that was 30 - 40 years ago or so, and we need to develop things, and I haven't seen that happening. FSF and GPL and all that defines to extent the framework for distributed software in terms of legalities and many other aspects, but there is little help in how to make the software that can now in theory be read by anyone truly open. If we assume that Oracle made their sourcecode GPL, but did not provide any documentation on how the sourcecode works (which is not a requirement of GPL) and removed all the sourcecode comments (which is not a requirement either), how open would that be, really? I do not think it would help much in terms of openness, to be honest. Sure, it would be open for someone who wanted to hickjack some intricate part of the Oracle sourcecode, but that would need a large investment in investigating the code, so this would probably only be reasonable for a some other large corporate entity. But the code would really be open for the rest of us.

Instead of discussing Open Source vs. Open Code vs. Commercial, I think it would be much more interesting to discuss how we develop software that truly is contributor friendly. Code that is easy to add to, code that lives in an environment where changes and additions can easily be made, reviewed and tested. Code that allows itself to be built by anyone, anywhere so that I can test my code on a 16 CPU x86 box somewhere in australia, provided by a nice person I don't even know, although I am located in Sweden. Code that is required to have proper commenting, proper structured APIs and natural points for injecting new and changed code. And above all, code that lets someone with excellent domain knowledge (in for example indexing algorithms, GIS, text search, APIs, disk management etc., if we talk about databases) to write code and test, without being a database expert or even knowing the inner details of the system he/she writes code in, and not being brilliant developers themselves.

Is this a dream? Maybe, Is Drizzle the answer (I know someone will suggest that), and I say no, it's just not enough, it's just more of the same (plugins), it doesn't really provide anything new in how we develop things or how those developments are published and distributed.

In short, I think the Open Source vs. Open Code debate is just nitpicking and boring. Neither model just isn't good enough to be truly friendly and open for contribution. The difference lies more in how and with what we we can commercialize our efforts, which is a valid concern, but my main concern, as you can see, is that I believe that neither model is truly open. And I would rather see a truly contributor friendly Open Code model than the current state of affairs.

/Karlsson

PlanetMySQL Voting: Vote UP / Vote DOWN

As the GPL fades …

Январь 28th, 2010

We’re continuing to see signs that the dominant GPL open source license may be fading from favor among commercial open source software players. The latest move away from the GPL comes from content management software vendor Alfresco, which is moving to the LGPL after originally releasing its code under the GPL three years ago. The reasoning for the shift, according to Alfresco CEO John Newton, is the company sees greater opportunity beyond being a software application, particularly given the emergence of the Content Management Interoperability Services standard. Alfresco won mostly praise for its move, and it does make sense given where open source is going these days.

I believe the emerging trend away from GPL and toward more permissive, mixable licenses such as LGPL or Apache reflects the broadening out of open source software not only throughout the enterprise IT software stack, but also throughout uses beyond individual applications, frameworks and systems. More and more open source software vendors are pursuing opportunities in embedded use or OEM deals whereby open source software often must sit alongside or even inside of proprietary code and products. Similar to what we’ve seen in the mobile space — where open source software and development are more prominent than ever, but end products with accessible code are not — open source is broadening out, but it is doing so in many cases by integrating with proprietary code.

We also see some debate about the community and commercial ups and downs of GPL as organizations contemplate the balance of the two and the best way to achieve commercial success with open source software. As Matt highlights, we are seeing a choice of non-GPL licensing in order to more effectively foster community and third-party involvement, but we also continue to see GPL as a top choice to similarly build community.

While the debate about community versus commercial benefit may not necessarily be prompting movement away from GPL, I believe another recent action may indeed do so. The latest series of GPL lawsuits are aimed at raising awareness, profile and legitimacy for open source software. While those bringing the suits — primarily the Software Freedom Law Center — have exhibited a reasonable approach and settled with past lawsuit targets, these suits and publicity may still serve to steer organizations making the choice to other licenses, including the LGPL, BSD, Apache and the Eclipse Public License.

Another factor is the GPL thumping that took place during the SaveMySQL campaign as the European Commission contemplated Oracle’s proposed (and now closed) acquisition of Sun Microsystems and the open source MySQL. I voiced my concern that the SaveMySQL campaign might jeopardize or de-value open source software projects and pieces in M&A, but I believe I’m actually in agreement with SaveMySQL leader Monty Widenius that the deal and process may end up tarnishing the GPL and its reputation in the enterprise.

As stated above, much of the movement we’re seeing away from the GPL has to do with the desire and opportunity to place open source software alongside, within, on top of or otherwise with proprietary software. Non-GPL open source licenses are also more flexible in terms of integrating and bundling with other open source software licensed under other, non-GPL licenses.

We anticipated this fade of GPL as covered in our report, The Myth of Open Source License Proliferation. Given its clout, durability and continued popularity in commercial open source (and with help from continued growth of GPL-licensed Linux) we believe the GPL will endure as a top open source license. However, given their flexibility and the ability to combine with other code, we see a number of other challengers — Apache, BSD, EPL and LGPL — rising while GPL dominance wanes. We’re also watching to see whether the AGPLv3 for networked software will provide new life for GPL-style licensing and community building in emerging virtualized, SaaS and cloud computing environments.


PlanetMySQL Voting: Vote UP / Vote DOWN