03.05.07
A post I wrote last week called into question the difference between “good community” vs. “good company”. Matt thinks I have a vested interest in calling out JBoss’ community cred. I think I have a different view of community vs. company. Sacha Labourey comments to point out that JBoss is focusing more on community, which is great. More on this in a future post.
I’ve previously written about why I feel tension between doing what is right for “the community” vs. “my employer” is what makes for a “good community”. 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
Let me recap with a picture that highlights my box drawing skill:

Once a company starts hiring, and as a result, controlling, the majority of developers who were contributing to an OSS project, the result begins to look more like a company developing in the open and less like a good community. This is especially true when a company hires the “best contributors” not already working for said company.
To illustrate, let’s take Oivas, a fictional application developer working at Acme Inc. He is using JBoss AS at work and realizes there is a bug or missing feature. He writes some nifty code and contributes his work appropriately. Repeat said process until JBoss Co. notices, decides they like Oivas’ work and decides to hire him. Oivas accepts.
First, “the community” loses because Oivas is not able to draw upon his daily job for ideas to contribute because he is no longer an using JBoss AS daily (he’s developing JBoss AS). That’s likely not a big deal because other users can keep Oivas busy with bug/feature requests.
Second, Oivas is working towards the product features and deadlines that his new employer sets out for him. What if he thinks that the integration of JBoss AS with an IBM product or a Microsoft product would be just what his friends at Acme Inc. or the Acme Inc.’s industry needs? But sadly, JBoss/Red Hat would rather Oivas work on things that drive customers to other JBoss/Red Hat products. Now, there is nothing wrong with JBoss/Red Hat expecting that their development dollars get devoted to work that drives potential usage of JBoss/Red Hat products. But in such situations, the goals of JBoss/Red Hat don’t align with the community or customer needs.
Lastly, how does the JBoss community decide whether something like Red Hat Development Studio is the best thing since sliced bread and should be advantaged over other alternatives. (I’m not arguing one way or the other). In the absence of a community of developers with decision making abilities, with different employers, representing differing motivations, they don’t. JBoss/Red Hat makes the decision and 3rd party developers & customers have to live with the decision from JBoss/Red Hat. This is not unlike decision making in a traditional software company and the result on customers. But the traditional development model doesn’t claim to be a community model.
He who pays signs your paycheck gets a reasonably large say in what you do during your work day. A group of people whose paycheck comes from the same entity constitutes more of a company, than a community.
03.06.07 at 12:43 am
I’m sorry you haven’t had a chance to work for a company where the developers influence the management and employer. Think out of the box, OSS pure player companies are driven in a much different way than traditional software companies embracing OSS.
03.06.07 at 8:18 am
Emmanuel, thanks very much for your concern.
Come on, you guys have product managers at JBoss/Red Hat now, so while an individual core developer has some freedom, there is much more structure in what work is done by JBoss/RH developers.
I didn’t say that core developers are mindless drones. I said that their management & employer motivations can conflict with their own…just like at a traditional software company.
03.06.07 at 1:31 pm
Savio,
Community vs. Company as well as Project vs. Product play out in some very interesting ways throughout the commercial open source landscape, but one thing is absolutely clear: a balance must be struck to ensure commercial pressures don’t override the fundamental needs of an open source community. Otherwise, open source becomes nothing more than a marketing moniker.
While there’s nothing wrong with developing code in the open, this approach shouldn’t be pawned off as open source either.
Alex
03.06.07 at 4:10 pm
We have had product management for a long time, even before Red Hat.
PM never ever forced me to do something I did not believed in and agreed to. first of all that would have been a stupid move. Second Ram is smart enough to convince me if he thinks an idea should live in the project.
Best proofs are that we only have one code base, not one for the community, one for small customers and one for big customers. And the only time the code base of one of our product was forked, the community simply did not follow and the team who forked had to try something else.
03.06.07 at 4:44 pm
Come on Emmanuel,
Did the “community” decide that JBoss Messaging was necessary vs. just using ActiveMQ? Did the “community” decide that Seam was the right way to go, Spring be damned? Can you point me to the community vote that suggested Red Hat acquire Exadel’s IDE vs. telling customers to just use Eclipse, myEclipse, IDEA or NetBeans?
All of these decisions were product decisions meant to further the JBoss/RH business. There is absolutely nothing wrong with that. All software companies would make similar choices. My point is, and has been, that development in the open does not a community make.
Dude, customers are different. Some *are* small, some *are* big, and some *are* somewhere in between. Although I’m not a spokesperson) our product line evolved because different types of customers told us they wanted different capabilities, at different prices. Essentially, they asked us for choice, and we delivered.
And while I can’t talk about the revenue results that have followed, I can say that we’re growing much faster than the market (as this public information will highlight).
03.06.07 at 4:54 pm
@Alex, I couldn’t agree with you more.
A balance between community & company is definitely necessary.
I just wish that vendors who are in a position to make such trade offs would be upfront about the fact they are balancing between the two.
03.06.07 at 5:54 pm
The community is about JBoss AS or JBoss Messaging, or Hibernate, not about JBoss, a division of Red Hat.
Yes, the community has decided that JBoss Messaging was necessary, otherwise the messaging team would have no community nor customer to sustain the project, and from what I can tell this is not the case.
Same for JBoss Seam, just read the TSS posts (BTW, JBoss Seam is not Spring, it does not solve the same problem)
I don’t need 4 +! and no -1 to decide whether a project is good or not, I need free market.
The community vote is our download numbers, check it out it’s publicly available.
Customer needs for a given technology are the same, their wallets are different though.
http://blogs.jboss.com/blog/pfricke/2006/11/24/Antarctica_Population_Growing_3x_as_Fast_as_Chinas.txt
:-)
03.18.07 at 7:13 pm
“Did the “community” decide that JBoss Messaging was necessary vs. just using ActiveMQ? Did the “community” decide that Seam was the right way to go, Spring be damned? Can you point me to the community vote that suggested Red Hat acquire Exadel’s IDE vs. telling customers to just use Eclipse, myEclipse, IDEA or NetBeans?”
What I don’t like about you Savio is that you are never objective and don’t do your homework.
Flaws with your arguments:
1. JBoss Messaging is next gen JBoss MQ. Which has a very large community pre-dating the existence of Active MQ. Why should we give up on an already successful community that pre-existed Active MQ? Should ActiveMQ not have started because JORAM and JBoss MQ already existed? Why did Apache.org decide to create Geronimo, from scratch, when there already existed two very successful open source J2EE application servers? Did the Java community demand another application server?
2. The Exadel partnership is around Eclipse plugins (shows how little you do your homework). And yes, our community wants better tooling around Eclipse. And no, myEclipse is not an open source community.
“He who pays signs your paycheck gets a reasonably large say in what you do during your work day. ”
Man, what did IBM do to you? Must really have sucked working there.
04.30.08 at 6:57 am
[...] Savio Rodriguez recently posted commenting MySQL Quality Contribution Program observing that MySQL’s list of leading community contributors isn’t stacked with MySQL employees. Then he eventually ended talking about the difference between “good community” vs. “good company”. [...]