Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 16 Sep 2003
Let my people fork...
Not surprisingly, Simon
didn't like my characterization of Sun as "not open".
In the mean time, Anne responded to Simon's assertion that Java is open. Her reply captures a number of my issues. But here's what I think is at the bottom. We're working with two different ideas about openness. Simon is comparing Sun and Microsoft and saying that Sun is clearly more open than Microsoft. And therefore Java is more open than the CLI/C#. In my mind it is clear that Sun is more open than Microsoft, and perhaps I should have given Sun some credit for the steps it has made towards being more open. In my mind, this isn't about whether Sun or Microsoft is more open. That's easy. Sun is.
But for me the standard of openness (which Anne correctly notes is not as open as public domain), is open source style openness. And one way (but not the only way) of measuring that openness is to ask the question "Can I fork"? If I can fork, then it's open. If I can't fork, it's not. The purpose of branding and certification and so on is to prevent forking, extension, etc. But the reason that I'm dissatisfied with Java as a substrate for the future is that it can't fork. Stuff done in the JCP can't fork. It's the same reason that I'm dissatisfied with the .NET additions to the CLI (suspicion of Microsoft notwithstanding). I want something that I can fork. I want the ethos of the "platform" to be ruthless competition among similar technologies.
I believe that this can happen on the CLI or a fork of the CLI. I'm not saying that we should take the CLI and do whatever Microsoft says. I'm saying we should take the CLI and make it do what we want. And if it stops being compatible with the MS/ECMA CLI, then I don't particularly care. We fork it.
Simon pointed out that there is an open source VM. I suppose that's Kaffe, which has never performed that well, and doesn't seem to be improving that fast. The Mono people are improving at a very high rate. What they have and Kaffe doesn't have is an active, flourishing developer community that seems bent on making it usable for real production work. Kaffe isn't - just read their website. So maybe I should have said usable open source JVM. Fine. All we need is one, it doesn't matter who it comes from, Sun, IBM, Apple, GNU, I'm not picky.
Simon asked why we couldn't take Geronimo and chart our own course. For me, it's not just about the "Enterprise application framework" space. Linux needs a managed code environment like the one in the CLI. For desktop applications as well as server applications. I personally want a VM that will be or can be made to be friendly to languages outside the Java/C# space. If you want to talk about the J2EE equivalent space, I believe the minimal containers like picocontainer or Avalon, coupled with some form of Aspect Oriented Programming will prove to be much better fits for the enterprise computing space.
This isn't about whether I'm personally fond of Sun or Microsoft. It's about having a platform where you can hack all the pieces. The Dashboard demo shows that if you have the source for everything, you can accomplish very impressive desktop application integration in time on the order of weeks. When you don't have the source, when you have to answer to a compatibility board, you can't do that. And that's what I'm interested in.
There's only one thing that bothers me, and that's the GPL licensing. Anne doesn't believe that this is a problem. The only thing is, read these two faqs. They both say that GPL libraries infect applications even in programming language interpreters. That's the reason that JBoss is LGPL and not GPL. And the meaning of the LGPL is ambiguous in the fact of Java's (or CLI's) dynamic linking model. This is not a show stopper for me, but it could be for attracting support. For what it's worth, I don't consider this to be particularly open either. There, now both Sun and the FSF aren't open and Simon should feel honored to be in such company ;-).
[00:59] |
[computers/open_source] |
# |
TB |
F |
G |
6 Comments |
It is my understanding that both the GPL and LGPL should never be applied to something written in Java because they both have the same infectious nature.
From the point of view of trying to sell a product, I find the idea of forked infrastructure quite scary. From a support standpoint, how can you know what you are running on? Already we have problems with Java in that it isn't exactly the same on all hosts. We have to test everywhere and certify with certain versions for each vendor. You would make that an even more daunting task.
Posted by Jim Adams at Tue Sep 16 06:46:01 2003
From the point of view of trying to sell a product, I find the idea of forked infrastructure quite scary. From a support standpoint, how can you know what you are running on? Already we have problems with Java in that it isn't exactly the same on all hosts. We have to test everywhere and certify with certain versions for each vendor. You would make that an even more daunting task.
Posted by Jim Adams at Tue Sep 16 06:46:01 2003
Jim,
I'm not the one who licensed JBoss under the LGPL. And I'm pretty sure that the constraints you mention apply to the CLI.
As far as forking goes, right now on the the CLI, as far as I know there isn't a compatiblity test suite, so Mono is already fork. I agree that a billion versions of Mono would be bad, but I don't think that's necessarily bad. The ability to walk away from Microsoft induced changes to the CLI is a necessity, as is the ability to grow.
Posted by Ted Leung at Tue Sep 16 11:55:40 2003
I'm not the one who licensed JBoss under the LGPL. And I'm pretty sure that the constraints you mention apply to the CLI.
As far as forking goes, right now on the the CLI, as far as I know there isn't a compatiblity test suite, so Mono is already fork. I agree that a billion versions of Mono would be bad, but I don't think that's necessarily bad. The ability to walk away from Microsoft induced changes to the CLI is a necessity, as is the ability to grow.
Posted by Ted Leung at Tue Sep 16 11:55:40 2003
The ability to grow depends, from a corporate standpoint, on a stable base, something you can count on and support. That means if you fork something, I cannot use it because I cannot guarentee it. (gads, who would have ever thought I would be speaking corporately?)
Posted by Jim Adams at Tue Sep 16 13:22:08 2003
Posted by Jim Adams at Tue Sep 16 13:22:08 2003
Sorry, I don't know why I'm having such a hard time expressing myself today. I'll try to be more clear.. I don't think that a Mono fork of the CLI is that big a deal as long as Mono remains stable. That's what I was trying to say. If you give up the goal of MS or Java compatibility then you have a fork. If you look out at the open source landscape, you don't see billions of forks - you see relatively few. Having the ability to fork is not the same as actually doing a fork. The biggest fork that needs to be possible is to fork if MS/EMCA make bad changes to the CLI.
Posted by Ted Leung at Tue Sep 16 13:41:43 2003
Posted by Ted Leung at Tue Sep 16 13:41:43 2003
It seems that your issue isn't so much whether you can fork the canonical JVM or CLI implementations, as I don't think your can do either. (Please correct me if I'm wrong here, but I don't think Microsoft is distributing source [other than Rotor, and that isn't the real thing].) Rather, it seems to me that your complaint lies more with the absence of a usable Open Source JVM--so that you can fork. Given that, it seems that the problem is not so much one of openness and standardization as one of motivation. I just don't think there is much motivation to work on Open Source JVM because you can get one for just about any platform you want without the effort. In contrast, you will not get a CLI on Linux without Mono or the like.
Posted by Coty Rosenblath at Wed Sep 17 14:13:19 2003
Posted by Coty Rosenblath at Wed Sep 17 14:13:19 2003
Coty,
I want a managed code environment/VM where I can hack all the pieces. This morning's posting shows some reason why I want to have such a thing. Hackable pieces aren't enough, though, it also has to have a sizable development community, which as far as I can tell, non of the open source JVM's has. Mono is the only thing that fits the bill as far as I can tell. Its a question of opportunity. Mono is the hackable VM with a community that is improving it rapidly. The question is where are the resources best spent? Cloning .NET libraries and waiting nervously for the lawsuit? or taking hackable stuff that has proven itself in the Java realm and building a complete hackable stack. Right now, I think that the motivation is there. Mono is working and getting better fast. Anne and others have seeded the general idea. All that's needed is some focus on building out the missing pieces of that stack.
Posted by Ted Leung at Wed Sep 17 14:49:42 2003
I want a managed code environment/VM where I can hack all the pieces. This morning's posting shows some reason why I want to have such a thing. Hackable pieces aren't enough, though, it also has to have a sizable development community, which as far as I can tell, non of the open source JVM's has. Mono is the only thing that fits the bill as far as I can tell. Its a question of opportunity. Mono is the hackable VM with a community that is improving it rapidly. The question is where are the resources best spent? Cloning .NET libraries and waiting nervously for the lawsuit? or taking hackable stuff that has proven itself in the Java realm and building a complete hackable stack. Right now, I think that the motivation is there. Mono is working and getting better fast. Anne and others have seeded the general idea. All that's needed is some focus on building out the missing pieces of that stack.
Posted by Ted Leung at Wed Sep 17 14:49:42 2003
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk