donderdag 20 mei 2010

Opinion: The Class of Projects

This blog is about projects that are not backed up by companies. We, Eclipse users, are very lucky that there are still companies and individuals that invest in time and money for projects like Equinox, ECF, Platform, JDT, CDT, etc..

I learned from Arnoud Engelfriet that there are three types of projects: Base, Commodity and Differentiator.

Base:
If we look at end users, nobody gives a damn about the base because it is just not visible. What does a user care if Eclipse runs on Equinox or on a homegrown executable or if it runs on Swing or on SWT? However, it is needless to say how important these projects are.

Commodity:
These are projects that are an expected part of the product but that are visible to the user. In case of a IDE, think of completion, refactoring, project management, team support, etcetera. The user cares about these things but they are a part of every Java IDE and if you don't have it, you are not in the game. However, it is needless to say how important these projects are.

Differentiator:
Now we come to the interesting business projects because this is stuff that no other IDE has. Think projects as Mylyn, Swordfish, Rienna, etcetera. Needless to say how important these projects are.

Differentiators form an interesting business area and you see that these projects are mostly backed up by companies who can and will help their committers and contributors with infrastructure.

If you are a project that is a Base or Commodity project and not backed up by a company then it can be hard to get funding. A recent example is the Eclipse telecommunication infrastructure.

I end up paying $40 every week for a teleconference call with our group because the foundation does not have a local dial-in for my country. Use Skype you say. Sure we will if it is possible but you know that Skype does not always operate as expected when teleconferencing with people around the world and we don't want to waste time with technical issues (thats the first time I ever said that).

The foundation has no money to pay for this infrastructure. I respect that but who will pay for it then?

In other words, it can be very hard for a Base or Commodity project to get proper funding.

And this is also something that the Foundation should be aware of. It is logical that the parents are very proud of the children who are popular but the other children need attention too.

Base and Commodity projects do not get enough attention. Not only in terms of funding, but also in terms of marketing power, love and mentions. When was the last time SWT was placed in the spotlight?

Therefore, I think bug 313479 starts a good discussion.

dinsdag 11 mei 2010

Re: Patently Ridiculous

After reading Ed's post about software patents I remembered a story that occurred around the time when I fell in love for the first time with the game of Go.



It must have been a good ten years ago, or more, when I frequently played on the Internet Go Server. When you are a beginner you have to work your way up the ladder by winning games. One way of winning is to challenge players of around your ranking.

When I challenged one of the lower rated players, I stumbled upon a guy who was hiding from his fellow Masters in Go by logging in with an alias. However, he forgot to unset the "open" flag so I found myself playing against a much stronger opponent. This is something you just cannot win (there is no such thing as luck in Go.)

While we were playing and chatting, he introduced himself as Jean-loup Gailly. I Yahooed him (no Google back then) and found out that he is one of the authors of gzip and masters several other crafts very attractive to the inner-geek (like his work on pulsars).

While I don't know his stance on software patents, I assume that he is against them. Jean-loup has analyzed several patents to make sure that the gzip software avoids all of them.

Jean-loup on his website [3]:

"I have probably spent more time studying data compression patents than actually implementing data compression algorithms. I maintain a list of several hundred patents on lossless data compression algorithms, and I made sure that gzip isn't covered by any of them. In particular, the --fast option of gzip is not as fast it could, precisely to avoid a patented technique."

He continues by making an interesting remark:

"The first version of the compression algorithm used by gzip appeared in zip 0.9, publicly released on July 11th 1991. So any patent granted after July 11th 1992 cannot threaten gzip because of the prior art, and I have checked all patents granted before this date."

I understand from this that patents are void if somebody can prove that the invention was done before it was filed. So filing patents for simple things might not be so damaging as it appears (somebody try to file a patent for the singleton pattern and see what happens). This is called prior art.

The big crunch
One interesting story of Jean-loup is about a compression technique claiming to be so effective that it could compress any file with at least one bit. Of course, a child can see that this would recursively compress the output file to zero bits. The US patent office worked on this patent for three years before finally granting the patent.

--

[1] While I was researching for this blog post I found out that there is a free iPhone client for Go.
[2] Carl Barks, the famous Donald Duck cartoonist, once drew a story where Donald Duck and his nephews salvaged a ship by pumping thousand of ping-pong balls into it. The word goes that this story prevented granting of a patent (unfortunately this appears to be a hoax).