12.14.06
You’re Not an Evil Sell-Out
Posted by Savio Rodrigues under Apache Geronimo, Eclipse, JBoss, Java, Open Source, WAS CE, linuxA JBoss employee took exception to a recent post and left me a comment. I’m reply to him here as this would make for a really long comment reply to him ;-)
Norman,
I do not consider you, or your colleagues at JBoss “evil sell-outs”. This is actually one point that I’m in 100% agreement with Marc Fleury. We all need to eat, so at some point, we’re going look for a company to fund our 9-5 work. 
My point is that you can’t use JBoss projects or Sun Java projects (openJDK, Glassfish) as a test of the open source development model. They are all lacking an important component of open source, namely, community. (As seen by the image of “holding hands = good” from a Flickr user)
Let me address a few of your points:
[1] <paraphrase> “JBoss app server was developed largely by the community, and then these developers were hired by JBoss”. </paraphrase>
The difference between what you describe and what we have seen in the Linux community is that these early (and key) developers got hired by one of many Linux distros. Also, some developers already worked at large IT vendors. The result was a healthy tension between doing what’s right for the community and what’s right for “my employer”. Maximizing the former is obviously good, but the debates that result from the latter often lead to better ideas which in turn help the former. The fact that no one company dominated the community is what has led to success of the community, and the Linux product as a result.
True community requires that there are people with different motivations along with a joint community motivation. Once a company starts hiring, and as a result, controlling, the majority of developers who were contributing to the project, the community starts to disappear. If you disagree, then I’d say that every software company in the world has a ‘community development model’. For example, you were interested in JBoss products and then got hired by JBoss and I was interested in WebSphere and then got hired by IBM. What is the difference?
I don’t think your description of the history of JBoss and my definition of true community differs on semantics alone. We’re really talking about two very different approaches to development, and only can be called community development.
[2] “there is still a considerable amount of contribution from people getting paychecks from outside of JBoss.”
Can you provide a list of people who have commit access to JBoss products and add a column to indicate which company they work for? In fact, Fleury spoke about “opening our governance” in a recent eWeek article. He can say that JBoss has a restrictive governance model because JBoss cares about the resulting code. But that is quite disingenuous. You don’t need a restrictive governance model to get high quality code. See: Apache, Linux or Eclipse as examples of open governance models, great products and true open source community.
[3] “Hibernate, Tomcat, the portal, Seam, Drools, etc… All of the projects that make up the entire JBoss “product” are done with considerable “community”. “
There is a difference between a community project that JBoss is involved in versus a JBoss project that is open to the (wink, wink) community.
Let’s start with Tomcat, which falls into the former category. To indicate that Tomcat is related to the JBoss organization is what I find “evil” about JBoss. The Tomcat community existed well before JBoss decided to hire one of the contributors. And unlike JBoss projects, the Tomcat (Jakarta) project is a true open source community project with committers from several competing companies. So, if you want to argue that JBoss, at times, contributes to true open source community projects, then I’ll buy that.
Hibernate, Drools & Seam: Google each one and tell me that these are not examples of the latter category (i.e. a JBoss product developed in the open). Or better yet, how about a list of committers with company affiliations.
In summary, let me just say that I’m not dismissing JBoss because you guys are competitors. I’m pointing out that there is very little that your organization has done in terms of opening your development model to the community. And hence, one cannot use JBoss as a test for open source innovation because your company lacks a key component of the open source business model, an open community. I see your efforts with Group Bull as a step in the right direction. But it’s way to early to tell the outcome.
If you’d like to reply to this as a mainline post here, (not in the comments which people may miss), please let me know. I’ll post a verbatim copy of what you send. Or if you reply on your blog, please let me know also.
Cheers,
Savio
12.15.06 at 11:04 am
I’m not interested in a ping pong debate. Either you are willing to investigate for yourself or you can continue to lean on your assumptions about JBoss, which I can flatly tell you do not reflect the reality of what JBoss does. I’m rather shocked that you would make statements like you having looked closely at the JBoss community and have to ask the person correcting your post for the information your original post SHOULD have been based on.
Some JBoss projects have more JBoss people than not. Some of them have more community members than JBoss members. Some of them are primarily not JBoss members. Many of the projects (Drools, JBPM, Hibernate) were community projects that JBoss decided to shephard by hiring a few of the full time developers so that they could make a living working on their open source projects. JBoss gets it’s itches scratched, just like the community contributers do there’s in their contribution. In addition, several other companies have full-time people working on JBoss projects.
Anyways, there is huge variance in community involvement the various JBoss projects, and the sum of them together go together to make “JBoss”. The sum of their developer communities go together to make the JBoss developer community, and that community is quite large.
I’ll add as a final thought that I don’t think “open community” is a necessary component of open source. It happens that JBoss has a fairly open community with many community and company contributors, but even if had done all of JBoss development behind closed doors I think we’d be any less a model of how to be successful with open source than we are now.
12.15.06 at 12:21 pm
Norman, you make it seem like the “assumptions I am leaning on” are one single, solitary individual’s wildly wrong world view. Dude, take a poll of 5 people in the Java or open source community who don’t have an @jboss email address; ask them how open they feel JBoss is.
I asked you to provide the list of committers since (1) you say how open JBoss is and (2) you work there so it’d be easier for you to get that list. But not to worry, I’ll put such a list together for Hibernate, as an example.
I find your final sentence very telling. The fact that you think doing development inside of a walled garden and using and OSI-approved license is all you need to be classified open source is another point we can disagree on.
12.16.06 at 5:48 am
I know this is off topic, but I came here by chance and laughed because your blog is so very close to mine in both layout and title. Great minds think alike? :-)
12.16.06 at 10:13 am
Hi Savio. I’m from the glassfish community side. Trying to look at GF using the parameters you are mentioning in your blog, I think we are doing pretty well on the Transparency side but not very well (yet?) on the Wide Participation part.
On transparency, you can go look at our site, code, blogs, and roadmaps and pretty much everything is publically available. We still need a fair amount of clean up of the sites, so you may not find it :-(, but we truly hope to fix that in January. Check TheAquarium, GlassFishWiki.org and GlassFish.java.net.
On the wider participation, I agree, we need much more. Oracle’s participation is very heathy, and we have very good participation in some localized areas, but much more needs to be done. Your comment about the value of “tension” is thought-provoking. I usually focus on the value of “darwinian evolution” from healthy communities, but “tension/compromise” is a new one. The challenge, its seems to me, is how to drive aggressive schedules, high quality, and a coherent user experience and architecture with that tension.
But this is me doing self-assessing. What do you think of GlassFish? How can we improve?
- eduard/o
12.18.06 at 10:41 pm
You wrote:
“For example, you were interested in JBoss products and then got hired by JBoss and I was interested in WebSphere and then got hired by IBM. What is the difference?”
Difference is you would have been a contributor before we hired you. I’ve hired three of my long time contributors in the last 6 months. Its really easy to become a contributor. Email:
carlo.dewolf@jboss.com
ales.juston@jboss.com
Ask them how hard it was to get committer access. They both had something they were interested in. Contacted me with an initial implementation. I looked it over. Looked good. Gave them SVN access. Done. Simple. Carlo was hired 7 months later. Ales 1 year later.
12.18.06 at 11:04 pm
BTW, just because we control the community doesn’t mean there isn’t a community. Why don’t you levy the same accusations against Interface 21 and the Spring crowd? They are a vendor. They are growing. THey are hiring their contributors as fast as they can. Will you say the same about them when they reach critical mass as a company?
Also, I find your blog nothing more than spewing the propaganda BEA and IBM have been propagating more than a year ago. THat JBOss isn’t open source. That we don’t have an open community because we don’t have a “governing body” like Apache or Eclipse as our home. I guess its true that if you say a lie enough times, people start to believe it.
12.20.06 at 12:39 pm
Hi Eduardo,
I know what you mean about hitting deadlines and quality goals without having control of the project. Very different from being the product manger for an internal project.
But here’s the thing that we found in the Geronimo project. Everyone wants Geronimo to be a solid product. Whether it’s because we (IBM) want to build a product on Geronimo, or because another vendor wants to provide for-fee support to Geronimo, or someone else wants to use Geronimo as part of a larger product. Everyone is pulling in the same direction.
The tension occurs in the little decisions, like do we use approach A or B to satisfy the spec. Tension is good, it makes one think harder.
What can GF do to improve? “Simple” :-), get more involvement from folks outside of Sun. I wasn’t aware of Oracle’s participation. That’s great, keep it up. Invite other vendors to participate. Give them lots of responsibilities. Sure that will mean that a 3rd party vendor has a large degree of control over the project and it could impact Sun’s internal release dates or goals. But this is the kind of trust that encourages 3rd parties to contribute and participate more.
In the end, you want to get to the point where every vendor participating stands to gain and lose equally from the success of the project.
12.20.06 at 1:50 pm
Hi Bill,
Yes, I’ll say the same about Interface21’s tight control over their development process.
My point in the post and other posts on this site is that JBoss (and other often cited ‘open source projects’) are lacking an open community, which I believe is a key ingredient in a true open source project. You are free to disagree with my point of view. You can call my view a lie if you’d like, but please do not suggest that I am spewing propaganda on behalf of my BEA or IBM overlords. I am stating my views.
I guess we’ll have to agree to disagree about whether a company can “control the community” and still be a true open source project. (But I’ll have more to say about this after the holiday break).
Dude, even Fleury spoke about the need for more focus on governance at JBoss. Trying to fix the view that JBoss has a problem with governance seems like a waste of time and resources when you should actually be fixing your governance model. Kudos to Fleury for recognizing the issue and working on the problem, rather than the result of the problem.
12.20.06 at 5:45 pm
Fleury’s comment about governance were about “opening up our governance” because people don’t know and can’t tell what the hell our governance model is…
Also, I am fine with you believing that kernel.org/Apache approach to open source is a better model for open source. What I have a problem is you stating that something is not “true open source” because one entity “controls the community”. That’s why I view your statements as quite insulting to me and my company. Especially when:
* we’re distributed with FSF and Apache based licenses
* We have total open development on public JIRA and public forums
* Anybody can fork our stuff (and have)
* Most anybody can become a contributor quite easily (and have)
* We have non-JBoss employed contributors
* We try to reward our contributors with employment, publishing opportunities, speaking opportunities, or just general visibility
Finally, I didn’t say that you are spewing propaganda on behalf of BEA and IBM overlords. I just question how you come to the conclusions that a) we don’t have a community, b) we are not an open community, and c) we are not “true” open source. Have you ever even interacted with us as a potential contributor? If not, how can you even state such generalities and feel good about yourself? The thing is, I have seen your *exact* argument from sales powerpoint presentations of competitors and blogs of others who have a long negative history with us. This leads me to believe we have to work harder to get the message out that these things are not true.
12.20.06 at 6:00 pm
Savio wrote: “But here’s the thing that we found in the Geronimo project. Everyone wants Geronimo to be a solid product. Whether it’s because we (IBM) want to build a product on Geronimo, or because another vendor wants to provide for-fee support to Geronimo, or someone else wants to use Geronimo as part of a larger product.”
Hmmmm…. It all makes sense now….Wish I would have read that before responding any further. Wasted effort on my part, but it is always fun fighting…
BTW, are you still on the 3 votes per commit mandate that the PMC enforced on you? You can honestly look me in the eye after participating on the Geronimo project and say that the Apache model is better? Geez, you really have been brainwashed…
12.21.06 at 12:48 pm
Bill, agreed, disagreeing is always fun. :-)
Bill, you are free to question the Apache Software Foundation model. But the overwhelming majority of developers see Apache, Eclipse, Kernel.org and Mozilla as “gold standard” examples of open source communities, projects and products. So, yes, I’ve been brainwashed.
I support your efforts to spread the “true message”. Can you start by telling Fleury that you can get solid products without having a restrictive governance model?
From eWeek article: “But make no mistake this is not going to be a free-for-all. We care a lot about the quality of what gets committed. We invest very heavily in all our projects. We’re serious about this so we expect the same level of seriousness from our collaborators.”
Maybe he was misquoted in the eWeek article. But he made it sound like JBoss chose a closed governance model because opening up would negatively impact your product quality. I’m sure developers and users of Apache, Eclipse, Linux, Firefox, ThunderBird, etc would have some alternative feedback.
Bill, I have no problem at all with JBoss Co. employing contributors. That was why I told Norman that I didn’t consider him an “evil sell-out” as he thought I would. My problem is that JBoss Co. (I guess Red Hat now) controls the JBoss.org “community”. If you were hiring contributors and there were lots of other vendors participating in the JBoss.org community, then I’d retract my statement. And I don’t mean the occasional 3rd party contributor; I mean other vendors whose fortunes rise and fall with the JBoss.org community.
We have a fundamental disconnect in our definition of a true open source project. I propose that at least 3 components are necessary: License + Transparency + committed 3rd party involvement, with weightings of 25%, 25% and 50% respectively. (More on this in a later post)
I believe that the 3rd party involvement is really the only thing that protects the customer in the end.
Let’s use the Apache Geronimo project as an example. You can get support for Geronimo from Covalent, IBM and other vendors. Let’s say a customer chose IBM support but wanted to explore other support options because they are unhappy or because the want to use another vendor’s price as a negotiation tactic. Lucky for the customer, several vendors provide support for Geronimo, so the customer has a lot of choice. This also means that vendors providing support for Geronimo are “keeping each other honest” in terms of support quality and price. Without committed 3rd party involvement, the customer is (almost) in the same boat as if they’d purchased a commercial software product.
If one vendor controls the community, the customer choice is severely limited. You’ll disagree because anyone could take the OSI-licensed product and fork it. But how often is that a reality? You mention that folks have forked JBoss products….and what was the result of that? Having an option that increases customer choice (i.e. forking) but knowing that the actual probability of that option occurring and being successful is minimal is not something that truly expands customer choice.
A scenario: Let’s say Oracle decides to offer their own support for JBoss products (level 1 through 3). Oracle will need to get committers on JBoss projects and fast!
It would be in the best interests of the JBoss.org community to welcome Oracle’s involvement. But is it in the best interest of JBoss Co.? Would the JBoss Co. allow Oracle employees to get those committer rights? In the (unlikely) case of JBoss Co. hindering Oracle Co. employees from getting committer access, who will Oracle Co. plead their case to? If we were talking about a truly open community like Eclipse or Apache with well established governance models, then Oracle Co. could rest assured. In the scenario I present, the goals of the JBoss.org community and controlling vendor are at odds. But since the two entities are, for all intent and purpose, the same (i.e. JBoss Co.), it’s not difficult to imagine that the goals of JBoss Co. will override the goals of the JBoss.org ‘community’.
Also, from a partner standpoint, updating the JBoss EULA to require a partner relationship in order to ship unmodified JBoss code or being forced to remove JBoss/Red Hat trademarks is something that I believe JBoss would not have done in a truly open community. The JBoss.org community loses nothing by getting their unmodified product exposed to a larger set of users. The JBoss Co. does stand to lose support revenue. If the JBoss.org community was not controlled by one entity, the goals of that one entity (JBoss Co.) would not have superseded the goals of the community.
The scenario & partner standpoint paragraphs are why I believe you need an open community for a true open source project.
Okay, gotta run, have a good holidays.
Savio
01.10.07 at 1:42 pm
Savio,
Your argument has some flaws I’d like to discuss, especially when it concerns Redhat and JBoss.
* Standards give the JBoss Community the same type choice.
Since most of JBoss is standards based, users have the option to switch to another vendor if they don’t like our product or our support. This vendor can be OSS or commercial. If we weren’t standards based, Geronimo would have no chance at all to take market share away from us (or BEA for that matter).
* In the Apache business model, you say users have more choice. In reality, they become dependent and locked into one vendor anyways! Why?
1) Open source projects are usually horrible at productization. Take linux for instance. You don’t download linux, you download RHEL, Novell, debian, etc… Although these distributions come mostly from a common codebase, each has their own value-add codebase to turn linux into a viable product. As an individual, you could contribute to kernel.org, but there is no guarantee that your patch will show up in a vendor distribution. As an individual in a company controlled distribution, you *know* your accepted patch will get into the distribution.
2) It is in the best interest of vendors to keep the open source project hobbled and feature-poor. Why?
Vendors want to make a premium on their support (or even sell a commercial license!!) In your fantasy land view of utopian open source, vendors can’t make a premium because support is commoditized. With Geronimo this commoditization is even worse as you have the Java EE vendor choice as well as the Geronimo vendor choice. Therefore what these vendors have to do is provide their own value-add (like clustering or management for instance). At least with FSF based licensing they have a harder time with making their extensions closed-source. With ASL, there is no such barrier. So, in the end, the kernel.org/apache.org mode.
Some proof? Take one of Geronimo’s vendors, IBM. They offer Websphere CE (children’s edition), which, yes is based off of Gernonimo, but is both closed source and a extremely hobbled version of Websphere compared to their premium editions of Websphere. There is absolutely no way that IBM would ever contribute their premium editions to Geronimo unless they received pricing pressures from other vendors (JBoss).
Open JPA is another example. A stripped down version of the commercial product KODO.
In summary, you have to move away from this utopian idea of open source. There just is no one perfect solution. It just does not exist. Large, successful open source projects need monetary investment to become productized and achieve ubiquity. Unfortunately, money is the root of all evil and it is up to the community (both employed and non-employed) to police.
Bill
07.18.07 at 7:55 am
[...] argued in the past that users benefit from projects developed at Apache (or Eclipse) as multiple (competing) vendors [...]