Pay attention to ...



Saying that today Open Source is a success doesn't need to be argued anymore. The place taken by Linux and other Open Source projects in the enterprises demonstrates it. In the section "advantages of Open Source" for an enterprise, there is no lie nor joke These are true, and largely defended and demonstrated world wide. The success of projects such Linux, Apache, PHP or MySQL (and of course many more) in professional and sometimes mission critical environment participates is a good proof of it.

So one may think that from this demonstration, the use of any Open Source project in the enterprise will be beneficial to her. Well, we need to tamper a little bit this idea.

Attention to the licenses

There are more than 100 different licenses in the Open Source world. The most used and known is the GPL (GNU Public License). But this is not the most open one.

Like any other software licenses, they are there to protect the users and also the producer. In the case of GPL, you are allowed to use, modify and redistribute the source code only if all your modifications are also put Open Source. This principle, used in a lot of other type of Open Source licenses, is called 'copyleft'. Therefore, it is not allowed to include any part of the original code into another software, without making this software Open Source under GPL. This is why such a license is said to have a “viral” effect. Just by using 1% of Open Source software under GPL in another software, you will be forced to put the other 99% under GPL as well.

But there are some other kind of licenses (like the BSD license) where this “viral” effect is not present. Such licenses allow the integration of Open Source code into commercial applications without the need to publish all the software as Open Source software as well.

Most of the time, if you are just using the software, you won't be impacted at all by the Open Source license model. But if you start to modify it for commercial purpose, then you'd better to have a lawyer to have a look into what's in the Open Source licenses of the products you are using.


Elsewhere on this site, it is largely argued and demonstrated that an Open Source solutions will be of better benefit for the Enterprise. There are plenty of solutions now ready for the Enterprise. But this list is very short regarding the total amount of Open Source projects.

So, what about the others ?

Of course, the list is the result of a filtering made with various selection criteria. These criteria, they are very important to avoid bad surprises. They result mainly from experience within the Open Source and from a pragmatic approach of this universe. A listing of these criteria will be found below.

Selections criteria

A lot of Open Source projects may be found from developers community sites like SourceForge. These sites offers more than a simple search engine, they propose a lot of statistics about the life of the Open Source projects you may elect to download. These statistics are part of the first criteria to check. The very important one are :

  • How many developers are working on this projects ?

  • How the development activity on the project looks like ? (source code change, production of patches, time between two version, ...)

  • How big is the user community of this project : how many times is the project downloaded, if there are some forums related to this project, are they very active, ...

  • By doing an Internet search, how many times do you see reference to it ?

  • Is there already other enterprises using it ?

Once you put together the information brought by these criteria, you will discover if a project is popular (many happy users) and well maintained (many developers and many releases). These are two crucial parameters for an enterprise because they will have a direct impact on :

  • the speed of the reaction in case of major bug or security flaw

  • the viability of the project

  • the support you may expect

Besides these criteria, there are a few others that may also be of importance :

  • What is the code maturity level (alpha, beta, release candidate, first version, ...) ? You will not like to implement a beta solution in production, but in the case you have a development team at your disposal, it may not be a blocking factor. Of course, if you like the project, there is nothing that can impeach your enterprise to take a part in the community effort to develop it.

  • How the documentation looks like ?

  • Is there a website to present the solution and does it have a professional look ? This one can seems to be rather superficial, but a well-designed web site to present the project means that behind it, there is a extended team not only composed of “code hackers”.

  • Are they commercial companies proposing support around the solution ? This last criteria may be very decisive. If the solution that you've found to answer your needs is proposed by a Open Source ISV, than don't hesitate. When an Open Source project is proposed by a commercial company, if they don't do a good job, they don't earn money, so it's a good choice.

 

Conclusions

The conclusions, they are rather simple. Just like any other commercial proprietary solutions, you won't choose a product because of the fancy colours on the box or because a salesman invited you at a restaurant. In Open Source like in commercial proprietary, we prefer to choose a established solution showing serious ongoing work and support. You will prefer solutions with a strong history, with well-known success stories, not compiled by the producers of the software themselves but by independent third-parties.