It seems lately that at least once I week I hear about another company “adopting” the open-source model for their application. Usually this is a company that tried to create a traditional commercial application, failed at it, and they are hoping to ride the buzz surrounding “open source”.
But they just don’t get it.
Open source software development is not just about providing the source code for your application. It is much more about building a community around a shared project. That takes time. I think the biggest myth about open source software is that you say “hey, I’m open source now” and suddenly thousands of qualified people give up nights and weekends to work on your code. You can’t stick nine pregnant women in a room for a month and get a baby, it just doesn’t work that way.
But some people are trying.
There are several open source business models. I, of course, am biased towards ours, which is the software is always free (as in freedom) but you pay for services and support. In other words, it’s like being a carpenter. You can buy the same tools that a master craftsman uses, but it is doubtful that you can produce the same quality of work without investing a lot of time. We don’t sell software, we sell time. This is very similar to what JBoss does.
Then there is the dual-license model, which is what MySQL uses. They publish all of their software under the GPL, but for a fee you can get access to the software under a different license. The main downside to this is that an outside contributor must turn over the copyright to MySQL or they won’t accept the code. I understand the reasons for it, but in my mind it negatively affects community contributions. Why should I want to work for MySQL if they are going to directly profit from selling that work? For some people it is no big deal, they get satisfaction from contributing, and if that works for them, great.
Finally we come to the “shareware” model, which is now really starting to draw my ire. Popularized by SugarCRM, it is a “model” where some of the code is open, but to get the full featured version you have to pay, and the full version is not open. Remember shareware? You download a little app for free that does some things, but if you want to unlock all of the features you send the guy ten bucks? If this software was so good, then why hasn’t a community sprung up around the free version and made it better? And don’t think I’m knocking SugarCRM, we use it, but it really isn’t open source in the way I think about it.
So, today a client sends me a link to an announcement about another company trying to enter the “open source” network management game. Hyperic announces that “it is adopting an open source business model … with full access to the underlying source code”. And look, there is the “HQ Enterprise Subscription” where you get other features, for a fee of course.
I decided to check it out.
So I try to find out what license provides this “access to the underlying source code”. Is it GPL’d? Apache? Hrm, doesn’t say. So I guess I should download the application. I click on the link for the “free” version and get a license page, which states:
b. Restrictions on Use. You may not reverse engineer, decompile, disassemble or otherwise attempt to determine source code or protocols from the Software. You may not lease, rent, resell or sublicense the Software to any third party, or otherwise use it except as permitted in this Agreement.
What a novel approach to free software.
The application itself is still downloading as I write this. It is over 100MB in size, and it doesn’t seem to be available on a Sourceforge mirror. That’s probably because their “open source” claim is bogus. I doubt if the download will even contain the source, but I have been wrong in the past (I’ll update this post if it does). [Update: It doesn’t].
OpenNMS was open source when it wasn’t hip. I hope no one is fooled by open source wannabes who hope to use the term as a bait and switch for commercial software. Use these three points to see if any application you are considering is truly open source:
1) The software, and all of the software, is free
Check out the Open Source Initiative’s licensing web site. If the license the code is published under is approved, then that’s one step in the right direction.
The second step is to make sure that all of the software is free, that there isn’t some “special” version published under a non-approved license.
OpenNMS is published under the GPL and all of our work, even work for hire, is available in our subversion repository on Sourceforge. Note that we are project 4141 out of over 100,000 – we’ve been doing this for awhile.
2) There is an independent community supporting the project.
The power of open source comes from the community that uses it. At OpenNMS we are blessed with a number of constant contributors who aren’t directly paid to work on it. OpenNMS is supported by the OpenNMS Group but many of our contributors work for other companies. They even give up a week of vacation each year to attend our developer’s conference, and we currently have 26 people with developer access to the SVN repository. It is these people, as well as the hundreds of others who use the product and help determine its direction that have made OpenNMS what it is today.
3) The company touting an open source application actually had a hand in writing it.
Most of my loathing is reserved for those companies that claim to be open source, but in fact all they did is add a proprietary front end to an open source application. Ethan Galsteed’s Nagios has been a victim of this where his work and the work of his community has been co-opted by “parasites” who hope to cash in on the “open source” buzzword. They also tend to fail at the first two checks in the list as well.
Note that I did not start OpenNMS, but those who did allowed me to become the maintainer back in 2002, and in those four years I am extremely proud of the community I helped build and the product that community produced. The code in the development branch of OpenNMS looks almost nothing like the code four years ago, and it truly is an enterprise open source solution.
So, be wary of people claiming to be open source. You can’t hang a tarp in front of a cathedral and have it become a bazaar.
Having been involved with open source projects for over a decade, I
understand the effort involved with building a community. I wrote the
mod_perl module for Apache and built a large community of users and
developers from early 1996 through 2004-ish. I left completion of the
2.0 version to the project’s other core developers and users, stepping
away with the opportunity to work on something completely different.
This was a closed-source product developed at Covalent, which later
myself and a handful of others spun off a self-funded venture into
what became the Hyperic HQ product. While we considered open sourcing the ~2 year old 1.0 product when Hyperic was founded, but we were well aware of the fact you can’t just throw a pile of code over the wall and expect people to give up nights and weekends to work on your code. So we focused our limited resources on our existing customers and the acquisition of new customers, all along shaping the code and product with open source in mind. Having built a solid customer base and investment captial to expand our resources, the time is finally right
for us to open up the code and development process.
We took the first step of making our free platform available in
binary form and the source code will be available under the GPL next
month. Yes, there is an enterprise version which contains closed
source features. As you point out, this is not an uncommon business
model, we believe it is the best choice for us at the moment. I
suppose you could say were are giving the house away for free; the
the garage, screen porch and pool can be added on for a reasonable
price.
There are several binaries currently available for download.
The all-in-one is the largest with our code for the agent + server,
along with a JRE, PostgreSQL binaries, JBoss w/ embedded Tomcat and
other dependencies such as SNMP4J, MX4J, JDBC drivers, etc. We want
to continue to make it as easy as possible for users to install the
product and get it up and running. You will of course have the choice
to download the smaller source code bundle (or checkout from svn) to
use with an existing JRE, database and JBoss server.
Open Source != success regardless of a project being started from
scratch in the open or being opened up after years development behind
closed doors. Given that, I’m perfectly happy with companies using
Open Source as a marketing term. Since any of that is really free
marketing for all Open Source projects, adding to the overall
awareness and acceptance of OSS.
Regards,
Doug MacEachern
CTO, Hyperic
Wow. mod_perl is pretty cool. You certainly have a free software pedigree. I do have one question, though:
Why did you give up on open source?
C’mon, let’s be honest here. You announced that Hyperic was going to open source its product weeks before any software code is available. Why the rush? You say that you are giving away the house, but from my limited viewpoint it looks like you are giving away some bricks, wood and nails. At least from the press release (I only have that and your comments above to go on, since I can’t see the code) it looks like a thinly veiled ploy to get people to write plugins for your commercial product. Do you think apache would be as successful as it is if mod_perl and all the other modules were commercial add-ons?
So I have to think that along the way you lost faith. Covalent was a commercial product, and Hyperic is/was a commercial product. Rumour on the street has it that Hyperic license sales represented almost half of JBoss’s revenue last year. That may or may not be true, but since JBoss was acquired by Red Hat they have announced their own management product and I’ve got to wonder if your announcement has something to do with it.
And I also think you denigrate the commercial side of Hyperic, calling it a “sunroom” etc. How do you explain to your customers who paid good money for your software that you are now giving it away for free, if there isn’t a good, important chunk of functionality hidden away?
The term “open source” has a particular meaning. It’s like “organic” food. Except for the salt I put on my french fries, almost all the food I eat is “organic”. But the word has a more exact meaning – referring to food produced using a particular method. In the same way “open source” refers to code produced in a particular way.
I’m not trying to disrespect your model, but as someone who truly believes in the power of a vibrant open source community and proves it by running a profitable company around one, I have to take exception at you using the term. Call it something else. Call it the Hyperic API. Call it the Hyperic framework. Just don’t call it open source. It doesn’t promote the OSS cause, it just causes confusion and ultimately makes the term less than what it should be.
So what do you think of these guys?
http://www.open-xchange.com/EN/product/os_vs_com.html
this people is making the Open Xchange and they have a free version, and a comercial version… and they say they are Open Source!
Give up on open source? Loose faith? Not at all.
I will admit it was nice to take a break, the demands of open source
development were far greater on me than commercial.
We didn’t rush our announcement, we waited 2 years!
Hyperic HQ will be open source under the GPL when the source is
released next month. If we call anything different to avoid
confusion, it should be the Enterprise Edition to something along the
lines of “Enterprise Tools for Hyperic HQ”. We discussed our plans
with each of our customers prior to the announcement. Our existing
subscription model will cover the enterprise bundle moving forward and
continue to include support. They were all comfortable with that. We
sure do want people to write plugins for HQ, that’s one of the main
reasons we wanted to open it up.
I’ve never been involved with a debate on use of the term open source,
nor have I gotten involved with license debates. Heck when I released
mod_perl 0.50 in early 96 it had no license, I had no clue, I was just
a young kid having fun! I also didn’t realize I had signed my life
away to my employer at the time and shouldn’t have released it in the
first place. Luckily my manager did not see the value and gave me
permission to continue working on it in my spare time under the Apache license. Anyhow, according to some (hello slashdot!) we’re both wrong 🙂 I’ll get back to coding now and at least try to get that right and
leave it to the community to decide what we’re doing is called when
the source is available.
Open Source is both a development model and a way of releasing software. Nothing more, nothing else. Projects like OpenOffice or Postfix, which were effectively developed in a proprietary environment (StarDivision/Sun, and IBM) before being released — are these any less Open Source than other projects out there ?
Please, some trying to retrospectively attach some kind of ideological motivation to what amounts to being an effective model for developing, releasing and improving software.
I agree with you that open source is both a development model and a way of releasing software, and I’m not trying to “retrospectively attach some kind of ideological motivation” to it. Heck, I’m a chrome plated capitalist, and I spend a lot of money on both commercial and open source software. My next purchase will be Parallels VM product for my Intel Mac.
I believe you should chose what works.
But the term “open source” has a particular meaning to me, and there are many out there (some worse than Hyperic could ever dream to be) who are trying to co-opt it for something else. I believe that a true open source work should be completely open and not parceled out in pieces. I believe that in order to get the promised benefit of open source, you have to have a community around it, and to have a strong community you need to be completely open (how’s that for circular logic?) As folks have expressed here and on Slashdot, my opinion is not the only one, and I’m cool with that. Ultimately the market will decide.
Open source is successful today because of 2 primary reasons – (a) many provided a great piece of working software with the freedom to modify/enhance the source code and (b)every person had the right to interpret the meaning and implication of open source in their own way, thus letting them get involved in whatever capacity that they prefered. Now there are some over smart folks like you, who are self proclaimed experts – just because they have setup a couple of open source projects – who start defining what open source should mean and what it should not.
JBoss, MySQL, Redhat and many more have most of the contributors as full-time developers on their roles. Many other companies like IBM, Oracle, HP and Intel are encouraging their employees to take care in open source initiatives. Do you have a problem if people earn wages and provide free software?
And talking about shareware – what is wrong with it? You want all or nothing, is it? If the software is not good the users would reject it anyway.
Talk about some absolute junk from your own site –
“It is a misconception that The OpenNMS Group is a software company. They don’t sell software. The OpenNMS application is free and will always remain free.The OpenNMS Group sells time. Whether it’s time saved getting OpenNMS running, time saved getting it to meet management needs, time saved learning how to use it or time saved changing the code.”
You know what – everybody is selling time. Guys who make custom software are selling time making that software for a client and folks who sell packaged software are selling the time they have already spent making that software. Then there are folks like you who are indirectly selling the time that others are spending building software under the banner of “open source”. Nobody wants your customization, installation or training if there is no product.
Open source is good. Self proclaimed “open source leaders” will lead to its doom.
“since JBoss was acquired by Red Hat they have announced their own management product and I’ve got to wonder if your announcement has something to do with it.”
Could it not be that since JBoss relied so heavily on Hyperic, Red Hat/JBoss needed Hyperic to open source HQ before they could push ahead with their plan.
http://www.businessreviewonline.com/os/archives/2006/06/red_hat_steps_n.html
Makes sense to me. Either way the JBoss ON code is not yet available either. Is Red Hat/JBoss to be accused of the same?
Heh, I decided to leave off my Red Hat rant from this thread, but I find it amusing that a product which “will enable interoperability across heterogeneous IT environments” is just for “customers utilizing Red Hat Enterprise Linux and JBoss JEMS”.