- By Jason Hihn -
It occurs to me that Open Source software is often playing catch-up to
proprietary technologies. Only recently are we at the point of "equal to" or
"better than" commercial offerings (with the decision between the two being
a matter of opinion) but that's only on a few fronts (KDE, Linux, and
Still, Open Source software fails to lead in many areas. This could be from
a historical disadvantage -- the means of connecting and organizing people
for sizable Open Source projects only recently became available and are only starting to approach the tight-knit
nature of companies. But I think it's for a whole different reason.
Open Source software lacks leadership, unity and direction. Case, example and point: Microsoft's .Net. While no one really knows what .Net will really do, it seems to be gaining a lot of steam. It took a commercial entity to come up with a nifty
runtime and language remarkably like Java, and Microsoft is pushing it forward.
What does Open Source software do? We respond with Mono and DotGNU. Both are reactions and, most importantly, we're already fragmented.
Another example: KDE vs. Gnome. Here, I think most everyone would agree that
unifying the two and getting those talented Gnome developers to work on KDE
would be fabulous. Of course, the purists can't have that, so we remain
divided. I could go on why Gnome should fold and merge into KDE, but that is a whole
Beyond that issue, whatever the technology, we often find ourselves copying stuff rather than developing it.
If Open Source is ever to dominate and get the position in the industry that
it deserves, we are going to have to take some initiative and organize our
thoughts and goals, get them into the industry, get companies behind them,
publish them, and make them standards. Gecko comes to mind here.
If you aren't forward looking, then you can be horizontal looking. Look at your
projects for similar or helpful technologies and embrace them, or fold
yourself into them. Extend them if you can, too. For example, look for MySQL
to get Perl for stored procedures and triggers. (An even better thing to do
would be to be able to plug any interpreter in, like PHP.)
Choices are good. Fragmentation is bad. By consolidating and embracing, we
can achieve a situation where we will have very capable
systems with a good degree of overlap, where it isn't a major thing to move
from one to the other. Incidentally, that makes a good argument for "value
added" products -- if customers can switch to a competing product easily, you'll have to work to keep them. That, in turn, keeps us thinking and
moving. Once again, choices are good, fragmentation is bad, overlap is good.
(Example: SQL -- there are high amounts of overlap between vendors, each with a little
extending. It's a definitive standard for database interaction and a big
Let's look at KDE and Gnome again. They have an overlap of function, but
no overlap for those who need it the most -- developers. When I can write
source code that can be compiled for both -- without changes -- I will
For Open Source to succeed as well as we think it can, we need unity and
versatility. We need standards compliance. We also need to do what Microsoft
does -- suck up competition into our own products, and take aim, set the goal
and work toward it. Currently, we're just disjointed developers ambling
The true power of the Open Source model lies in the unity of
developers, not in the developers themselves.
"Commentary" articles are contributed by Linux.com and NewsForge.com readers. The opinions they contain are strictly those held by their authors, and may not be the same as those held by OSDN management. We welcome "Commentary" contributions from anyone who deals with Linux and Open Source at any level, whether as a corporate officer; as a programmer or sysadmin; or as a home/office desktop user. If you would like to write one, please email firstname.lastname@example.org with "Commentary" in the subject line.