LWN.net Logo

IBM's latest gift to the community

The press release was titled "IBM Helps Drive Open Source Development." Part of IBM's help in driving development is the contribution of "more than 30" projects to SourceForge.net. The press release was somewhat vague on exactly what was contributed - the only projects actually listed were the Jikes Java compiler and "Life Science Identifier,", which somehow scans networks for "biologically significant data." The latter project is not particularly active; its mailing list archive shows all of three messages last December - and none thereafter.

A look at this jikes-dev message gives a rather less rosy view of the change than the press release does:

As quite a few of you know by now, IBM has decided to pull out of the project hosting space. As a result the developerWorks/Open Source Server (aka dw/oss) where we and a number of other projects have been hosted for the last several years is being shutdown. IBM negotiated with SourceForge.net to migrate a number of projects from dw/oss to sf.net's hosting environment, as the hands down #1 most popular project on dw/oss, Jikes was on that list of projects.

So it seems that IBM, rather than "driving open source development" through the contribution of various projects, is actually driving open source development away and into the arms of SourceForge which, despite some rosy PR of its own, has not signed up a whole lot of high-profile projects recently. We asked IBM why this move was being done now, and got this response:

When IBM launched developerWorks in 1999, IBM wanted to start a community for open source developers. Over the past few years, as open source has gained momentum, more appropriate hosts for open source projects have come to fruition - Eclipse, Apache, Sourceforge.net for example.

We also asked IBM for a full list of projects which had been moved. Interestingly, no such list appears to exist; at least, IBM's representative could not give us one. We did get a partial list, however; it includes, beyond Jikes and LSI:

  • The Abstract Machine Test Utility, a testing tool for security certification work.

  • Performance Inspector, a mechanism for collecting and analyzing trace data.

  • The UDDI4J class library, last updated in September, 2003.

  • JTOpen, described as "a library of Java classes supporting the client/server and internet programming models to an iSeries or AS/400 server."

Unlike these high-profile projects, the other 24 or so were too obscure to make IBM's list.

The perception that IBM is simply dumping a set of projects which have lost its interest is confirmed by going back to the jikes-dev posting:

We've had 240,548 downloads from the dw/oss server in the 1061 days we've been there - as of now() at least... not a bad run for a project that has been pretty much abandoned by the company for the last few years, and has survived purely on the scraps of free time feed to it by a small handfull of folks.

So IBM's donation isn't quite all that the hype would suggest. The company is guilty of walking away from a handful of projects, then trying to use PR to make lemonade out of the whole thing. In other words, IBM is behaving like a corporation.

There is nothing particularly new here; companies have abandoned development projects since the beginning. The free software method has brought an interesting and worthwhile change, however. In the past, abandoned projects would simply disappear from sight, and any code would simply stagnate on a backup tape somewhere. A company which is aware of free software, however, can make the choice to toss its abandonware into the community. If there is anything useful in that code, somebody will pick it up and run with it. And that can only be a good thing.


(Log in to post comments)

Why didn't Jikes take off?

Posted Mar 3, 2005 3:21 UTC (Thu) by edconn (guest, #4959) [Link]

Given how much people want Sun to Open Source Java, why didn't Jikes gather more of a following?

Why didn't Jikes take off?

Posted Mar 3, 2005 8:01 UTC (Thu) by bronson (subscriber, #4806) [Link]

Because Jikes is only a compiler (though it did beat the pants off Sun's compiler back in the day). It's the JRE that needs to be open sourced.

Why didn't Jikes take off?

Posted Mar 3, 2005 9:47 UTC (Thu) by pkolloch (subscriber, #21709) [Link]

and there are already pretty good alternatives (for example the compiler included in eclipse). Jikes was written for compilation performance, but a month ago I tested a recent release and I was not impressed (it even crashed reproducably when the dependency feature was enabled). I remember a time when jikes was just a lot faster than the Sun JDK compiler.

What is missing for open source java are mostly libarary issues and to some degree better VMs.

Why didn't Jikes take off?

Posted Mar 3, 2005 20:50 UTC (Thu) by pimlott (guest, #1535) [Link]

The answer to this question is probably complex--I think Jikes definitely had the potential to be a huge hit, even as only a compiler (BTW, I believe there was an associated VM project that never reached the same maturity). One rather stupid reason for Jikes's failure to take off may have been the ideosyncratic operating modes (never fully specified) of Sun's javac, which I believe (going off rusty memory) Jikes never perfectly mimicked. javac is hard enough to work into a build system that also supporting Jikes is quite challenging. And Jikes had its share of bugs and discrepancies with javac--not that it was worse, but it made it hard for it to overcome "the standard".

Why didn't Jikes take off?

Posted Mar 3, 2005 22:16 UTC (Thu) by landley (guest, #6789) [Link]

Most open source developers DON'T want Java.

The big surge of Linux growth in 1998 (the widely quoted 212%) was in part
a surge of developers leaving Java for Linux.

The netscape source release got everyone's attention at a time when the #1
bug on the Java Developer's connection, with five times as many votes as
any other bug, was "Sun has no JDK for Linux". This bug was there for an
entire year without Sun even officially commenting on it, because Linux
was not a platform they wanted to support. It threatened Solaris in a way
that OS/2, the macintosh, and even Windows didn't.

Developers had already had a couple years of Sun promising to hand Java
over to a standards organization "real soon now" yet coming up with delay
after delay to keep it proprietary. And although Sun had ported Java to
old HP mainframes, the fact they wouldn't port it to Linux woke a lot of
people up to the fact that Sun didn't want to destroy Microsoft's
monopoly, it wanted to capture it intact.

People who didn't even know what Linux _was_ became unhappy with Sun,
because if Sun was refusing to support _this_ platform, how long until
they decided not to support $MY_PLATFORM anymore? Sun started pushing
java in the first place as a way to get software they could run on
Solaris, and they still had a big Solaris-pushing agenda that led to
enormous potential conflicts of interest with everybody else's platforms,
and if Java did become dominant they would have a lot of power to put
behind that conflict of interest...

Linux didn't have any conflicts of interest. Anybody who got at all
involved in the discussions of Netscape's source code release quickly
realised that we weren't faced with a technical issue, this was actually
about ownership. And the ownership issue was only solved by a better
license, the obvious candidate being the GPL. So all the Java developers
ran to play with Linux, and wait for Sun to wake up.

Most Java refugees thought we'd all be doing Java on Linux eventually,
when Sun was forced to face reality or live up to its promises of
openness. But as time went on with at best tepid Java support for Linux
(including closed-source Blackdown getting screwed over by Sun when Sun
finally did decide to break down and produce its own Linux JDK)... Well,
everybody lost interest.

Also, technically speaking the "write once run anywhere" (or write once
debug everywhere) promise of Java looks really weak compared to open
source, which is also write once run everywhere and you actually CAN debug
it too. Multi-platform support is actually easier with open source than
with Java.

As for "gee whiz ain't bytecode great", actually it slows stuff down and
both Perl and Python use bytecode internally anyway (they compile to
bytecode every time you run a script). And just as C++ was only a baby
step away from C (no garbage collection, no dynamic typing), java is only
a baby step away from C++ (yeah they have garbage collection, but still no
dynamic typing. Yeah, interfaces are better than C++ templates, but you
can't do dynamic typing at compile time any more than you can do garbage
collection at compile time. It just doesn't WORK that way, and the
kludges they try to make it work are laughable if you've ever seen the
real thing at work.)

Large corporations still love Java because it allows them to be
cross-platform in a closed source way and because they committed resources
to it 5 years ago during all the hype and they never throw out anything
that works (which is why they have so much old cobol code still deployed).

But open source developers have ignored Java en masse ever since Sun was
ignoring Linux in 98, 99 and 2000. Even the open source reimplementations
of Java (kaffe, Japhar, gcj with gnu classpath) have mostly stagnated for
lack of interest. Jikes is just part of the crowd.

IBM did a good JDK in Eclipse, because IBM uses Java internally the same
way it still uses Cobol. I'm told that if you want to do Java on Linux,
use Eclipse. Can't say I've tried it myself...

Why didn't Jikes take off?

Posted Mar 5, 2005 0:35 UTC (Sat) by piman (subscriber, #8957) [Link]

> ... no dynamic typing ...

I don't know why you cite this as a *problem* with Java and C++. Static typing is usually preferrable to dynamic typing, since it eliminates a whole class of bugs early on.

(Perhaps you're confusing static types with explicit type declarations.)

Why didn't Jikes take off?

Posted Mar 10, 2005 10:17 UTC (Thu) by k8to (subscriber, #15413) [Link]

A common error.

Static typing increases code bloat drastically, which prevents you from being able to find as many bugs, let along even have as much time to write the software in the first place.

Static typing primarily catches obvious easy-to-find bugs which are generated only superficially when authoring or modifying interfaces. Dynamic typing reduces the program complexity so much, and gives you much better run time information, such that you can fix serious logic problems much more easily.

Why didn't Jikes take off?

Posted Mar 17, 2005 2:17 UTC (Thu) by clumens (subscriber, #28542) [Link]

Static typing increases code bloat drastically, which prevents you from being able to find as many bugs, let along even have as much time to write the software in the first place.

I'm not sure what you mean by this. What exactly about static typing leads to code bloat? The best I can figure is that you believe static typing does not allow the level of code reuse that dynamic typing does - for example, the C-style generic code is pretty bad about this. However, static/dynamic and polymorphic/monomorphic are two different axes. You can have statically typed but still polymorphic code. For example, the Hindley-Milner type inference system used by Standard ML/NJ is checked entirely at compile time, yet allows for incredible code reuse. And, it catches all your type errors. Under this sort of environment with strong strict typing and where types are so important, even a large number of your logic errors are caught at compile time.

Perhaps there is something else you were thinking of? Too bad I responded to this so late, but I was skimming through the previous week's issue and just felt compelled to write a reply.

Why didn't Jikes take off?

Posted Mar 5, 2005 7:21 UTC (Sat) by LinuxLobbyist (guest, #6541) [Link]

Even the open source reimplementations of Java (kaffe, Japhar, gcj with gnu classpath) have mostly stagnated for lack of interest.

Just one comment. There is no sign whatsoever of stagnation of gcj work. Just check the Fedora Core mailing lists. There's even one list dedicated to java specific discussions (though I don't know what it's called off hand).

Because of that, I will be advocating for Java as the write-once-run-anywhere dominant platform if some developers really feel a need for that capability -- however suspect the write-once-run-anywhere claim may be. Why? Because cozying up to something Microsoft controls, sometimes via patents, has historically been fatal or near fatal. ;-) And I'd say .NET (and hence, possible future problems with Mono) falls into that category.

-Paul Iadonisi
 Senior System Administrator
 Red Hat Certified Engineer / Local Linux Lobbyist
 Ever see a penguin fly?  --  Try Linux.
 GPL all the way: Sell services, don't lease secrets

Why didn't Jikes take off?

Posted Mar 10, 2005 16:18 UTC (Thu) by jwharmanny (guest, #971) [Link]

> Most open source developers DON'T want Java.

There is a very active open source Java community. Google for 'Jakarta'.

> But as time went on with at best tepid Java support for Linux
> (including closed-source Blackdown getting screwed over by Sun when Sun
> finally did decide to break down and produce its own Linux JDK)... Well,
> everybody lost interest.

First, you blame Sun for not supporting Linux. Then, you blame them for screwing Blackdown
because they _did_ start supporting Linux. Whatever they do, it's always their fault, it seems.

> Multi-platform support is actually easier with open source than
> with Java.

Multi-platform support has nothing to do with using open source. Ask the Ximian Evolution
developers if you need information about porting a large open source program to another
operating system. If Evo and it's libraries would have been written in Mono, which does bytecode
compilation just like Java, porting would probably have been much easier.

> As for "gee whiz ain't bytecode great", actually it slows stuff down

Good virtual machines (like the JVM and Mono) can actually optimize the bytecode at run-time, to
make it run faster. That's very hard to do without bytecode. Search for 'JIT compilation'. Besides
that, bytecode provides a lot more nice functionality, like real multi-platform capabilities, and
reflection/introspection.

> java is only a baby step away from C++ (yeah they have garbage collection,
> but still no dynamic typing.

I tend to like dynamic typing. It prevents a lot of stupid bugs beforehand.

> Yeah, interfaces are better than C++ templates, but you can't do dynamic
> typing at compile time any more than you can do garbage
> collection at compile time.

What does that mean, 'garbage collection at compile time'? Garbage collection means I don't have
to care about memory leaks _at runtime_. I don't mind if the compiler isn't garbage collected.

> Large corporations still love Java because it allows them to be
> cross-platform in a closed source way and because they committed resources
> to it 5 years ago during all the hype and they never throw out anything
> that works (which is why they have so much old cobol code still deployed).

So Java is bad, because it is used by corporations that are still running Cobol code? I don't think
this is a very compelling argument...

> But open source developers have ignored Java en masse ever since Sun was
> ignoring Linux in 98, 99 and 2000. Even the open source reimplementations
> of Java (kaffe, Japhar, gcj with gnu classpath) have mostly stagnated for
> lack of interest. Jikes is just part of the crowd.

I don't follow kaffe or Japhar development. I do know that GCJ and Gnu Classpath are under very
active development.

> IBM did a good JDK in Eclipse, because IBM uses Java internally the same
> way it still uses Cobol.

Where did you get that information?

> I'm told that if you want to do Java on Linux, use Eclipse. Can't say I've tried it myself...

That explains a lot.

Sun doesn't like Free Software

Posted Mar 11, 2005 17:45 UTC (Fri) by HalfMoon (guest, #3211) [Link]

First, you blame Sun for not supporting Linux. Then, you blame them for screwing Blackdown because they _did_ start supporting Linux. Whatever they do, it's always their fault, it seems.

You seem to be under a strange delusion that supporting Linux necessarily meant screwing Blackdown. Why is that?

The point here about Sun is that they have a problem with supporting community efforts that they don't control. A few examples that come quickly to mind:

  • The way they claimed/stole credit for the Blackdown work.
  • The whole Java "Community" Process (JCP) is another ... they've actively worked to suppress efforts that got started outside of that, to the extent of even denying they existed as part of the "will starting a new Java Spec Request cause problems".
  • Plus, the rules of JCP more or less preclude active participation following normal Free Software rules ... you can't disclose anything until it's too late to support effective counterproposals.
  • Let's not forget the whole "we'll submit Java to a Standards Organization", "erm, sorry, no we won't" bit.
  • ... plenty more examples too.

It's at least disingenuous to pretend that Sun doesn't have major issues with the notion of not always being in the driver's seat. Even -- especially! -- when it's not the one doing the innovating.

IBM's latest gift to the community

Posted Mar 3, 2005 4:00 UTC (Thu) by simon_kitching (guest, #4874) [Link]

The list of projects that IBM has moved to sourceforge can be found here:
http://sourceforge.net/forum/forum.php?forum_id=449291

On a separate note, I interpret the comment quoted in the LWN article somewhat differently:
"not a bad run for a project that has been pretty much abandoned"
seems to me to refer to the dw/oss *site* rather than the software projects maintained at that site. IBM clearly doesn't want to bother running a sourceforge-like infrastructure, and fair enough when the sourceforge staff do such a good job of it already.

I agree, however, that the press release was very misleading: these projects were clearly *already* open-source; they have just changed venue from the dw/oss site to the sourceforge site. I would guess that some junior IBM PR person just totally misunderstood what they were told and screwed up the announcement, rather than IBM intentionally misleading.

Whether any of the projects moved to sourceforge are actually useful is still to be seen...

IBM's latest gift to the community

Posted Mar 3, 2005 20:32 UTC (Thu) by pimlott (guest, #1535) [Link]

On a separate note, I interpret the comment quoted in the LWN article somewhat differently: "not a bad run for a project that has been pretty much abandoned" seems to me to refer to the dw/oss *site* rather than the software projects maintained at that site.

I hung out on the Jikes lists for a while, and the quote clearly applies Jikes (and I think if you reread the story, you'll find that this interpretation fits the context better). If Java had remained static at version 1, Jikes might have remained relevant. As it was, Jikes lacked the man-power to keep up--even some uses of inner classes gave it trouble. I think only one IBM employee was involved on a regular, but not full-time, basis. IBM definitely abandoned Jikes before it had a sufficient development community of its own.

However, you're right that the quote also applies to dw. There were many complaints about the site, and the IBM guy was always trying to get them fixed, but little happened.

Condensed summary

Posted Mar 3, 2005 5:34 UTC (Thu) by ncm (subscriber, #165) [Link]

"IBM tosses obscure Java projects over the wall, shuts own Free-software distribution servers."

Some of the smartest people I know of worked hard on Jikes, back when Java was still considered worth optimizing. I wonder what they're doing now.

Condensed summary

Posted Mar 3, 2005 14:28 UTC (Thu) by nix (subscriber, #2304) [Link]

Are dprobes obscure? I know LWN's mentioned them before, more than once.

A win for the OSS philosophy

Posted Mar 3, 2005 12:43 UTC (Thu) by binkley (subscriber, #8537) [Link]

Normally when a company decides to deep six a project, that's that. No more software, no more downloads, no more nothing. And the restrictive commercial licensing leaves users hosed. At least with the OSS licensing model, users can salvage the source code and pick up the project if they really want to. By moving the good and the bad to SourceForge, IBM is letting these projects continue in some fashion rather than simply locking up the sources and throwing away the key. It's not a good situation, but it is better than what usually happens under these circumstances.

Dprobes

Posted Mar 3, 2005 13:00 UTC (Thu) by brugolsky (subscriber, #28) [Link]

Dprobes is not really "too obscure to list." SuSE has shipped it. It needs a little love right now to make it robust, as well as some work to accumulate a library of instrumentation for various tasks, as is happening with Intel's PIN.

IBM's (discontinued) gift to the community

Posted Mar 6, 2005 16:56 UTC (Sun) by tgall (subscriber, #217) [Link]

Well one project, iprutils, which ppc64 types kinda need, least if you wanna run linux on pseries/iseries boxes, displays this little feel good message:

--------------

This project on the IBM developerWorks site has been discontinued.

This page will automatically redirect you to the developerWorks open source page at http://www.ibm.com/developerworks/opensource/.

--------------

You'd think the right thing to do would be to point to the site's new location on sourceforge.net https://sourceforge.net/projects/iprdd/, instead of posting that kind of message which the way I read it sure as heck makes it sound as if that particular project is dead.

Hopefully they fix that.

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds