So Oracle just bought Sun. At first look it might seem like closed
source versus open source. Most of Oracle’s well known products are
closed source, whereas most of Sun’s products are open source. But
that’s not the full story. Oracle is also involved in Open Source. It
just takes a different approach.
There are a couple of ways to be involved in open source:
- You can use it in your products. Oracle uses a lot of open source in
their products. Java libraries, Linux, Xen. Basically it sells
products that use Open Source. Smart, lowering costs, using accepted
frameworks or products, charging for support and improved features.
- You can contribute to open source projects. Oracle, for example, has
contributed a lot of code to Linux. You can find some of Oracle’s
Open Source contributions here: Free and Open Source Software.
Oracle also contributed code to glassfish, and toplink to the
eclipse foundation.
- Run open source communities. This is the big difference between
Oracle and Sun. Sun runs a lot of Open Source Communities: Netbeans,
OpenOffice, MySQL, Glassfish, etc. Most of these project mostly live
on sponsoring from Sun.
The first two approaches are cost effective: if successful they will
lower costs. The last one is expensive: the company taking that approach
puts a lot of money into open source, and has a hard time earning that
money back. After all, open source products are usually cheap or free,
and users are expected to pay for support.
So why did oracle buy sun? There’s couple of possibilities:
- Java credibility. Oracle uses a lot of Java in it’s products and
tools. But they’re not very popular in the Java community. The Java
community is mostly a 3GL, open source community, whereas Oracle is
more about 4GL tooling, and talk about Open Standards. The problem
with oracle is that it’s still very proprietary. For example: data
binding. Oracle has created ADF, JBoss has created Seam. Seam is
going to be the standard, and Oracle is the only one with an ADF
implementation. Using ADF means using a proprietary solution: you
cannot get a similar implementation from a different provider.
Oracle is also very much about making bad programmers productive
(4GL tooling which can be used by non programmers), whereas Open
Source is about making good programmers more productive (using
dependency injection, dynamic languages, functional languages, etc).
Oracle and Java are targeting different developer communities. So i
don’t think Oracle will fix it’s credibility problem.
- Products. Did Oracle buy Sun for it’s products? Regarding software,
could be. Regarding hardware, likely. Oracle has competing products
for most of what Sun has to offer, maybe except for OpenOffice. But
feature wise, Suns SOA stack (application server, visual tooling,
etc) is the most complete competing product against Oracles SOA
suite. Everything that Oracle has to offer, both a lot cheaper. So
Oracle now has a chance to kill/make money from it’s most important
competitor. Other than that, i don’t think Oracle can convince Open
Source users to switch to Oracle much more expensive solutions. In
fact, we are seeing a lot of customers abandoning Oracle as it is
becoming too expensive.
- Customers. As i said, it’ll be hard to convince Open Source
customers to Oracle expensive licenses. And Sun already had a
problem selling their hardware, as most people are moving to cheaper
commodity hardware running Linux.
One more thing: OpenOffice. Many have complained about the OpenOffice
community. That it’s not really a community, but mostly Sun developers.
I think that this event shows that it’s extremely important that more
organizations become involved in the OpenOffice community. Many
governments are switching to (or trying to) OpenOffice, and if Oracle
withdraws the sponsorship for OpenOffice, these governments will have
serious issues. More companies and organizations will have to start
contributing to OpenOffice.
Although it is very generous of companies like Sun to invest so much
money in Open Source, it really creates an undesired effect for open
source products. Open Source should be about community. Lots of people
and companies collaborating on building software products. Open Source
products run by a single company are too easily impacted when something
happens to the sponsor. Good Open Source follows the example of Linux:
many companies all contributing a little bit.