Here I collect interesting links and findings about eclipse and java...

Friday, October 11, 2013

Imagine the eclipse IDE would cost $300...

Summary

Eclipse should have a price tag. Reason: for many customers, it is much easier to pay than to provide a committer.
There should be a discount system that allows for different discounts including getting eclipse for free. But the
point is users have to explicitly apply for a discount and give reasons why they think they cannot pay the full
amount. This is psychologically very different from donating voluntarily.

The tragedy of the commons

Recently, there have been some blogs about the tragedy
of the commons[1],[2]. The tragedy is that there
are not enough resources to work on some core parts of eclipse. There are many contributions but many of them
are in the interest of some companies not in the general interest of eclipse. My "road construction
analogy" blog four years ago explains the problem. I cannot say if things have changed since then (I don't want
to make a judgement here). But I want to throw out an idea that I have been thinking about for a while...

The solution: the eclipse IDE costs $300

Imagine the eclipse foundation would sell eclipse for $300 (see below) with lots of discount options down to $0 (see
below). The foundation would use the money to hire developers to work on common infrastructure to prevent the
tragedy of the commons. Customers who pay could assign half of the money to specific projects or bugs. The other
half is used to maintain the eclipse common part.

Who should pay?

The payment is for anyone who uses eclipse, but is not contributing back. If you are a committer or
making contributions to eclipse, you have already "payed".

Why pay instead of contributing?

For many companies payment for software is a standard procedure but contributing is an exceptional case that
requires a much more complicated approval process. Contributing back by writing code is limited. Even if a company
decides to give let's say 80 hours of work back to eclipse, how efficient would that be if the contributor has to
learn all the process and the code etc? 80 hours for a full time committer are probably much more productive than 80
hours for a project newbie or for someone who has never written java code. If a company wants to spent the
equivalent of N hours it might be more efficient to pay for licenses instead of appointing a person within the
company to contribute.

Why would anyone pay?

If you can get it for free anyway, why would anyone pay? I think there is a huge psychological difference
between voluntarily paying (friends of eclipse) and choosing an option
like "I believe others should pay for eclipse". The key is, if you wan to get eclipse for free you have to acknowledge
that you are not paying for something that otherwise costs money. This is very different form making a
donation. To donate you really have to love eclipse. To refuse to pay, you really have to hate it.

The problem with donation

I wonder how many of the friends of eclipse ask the company they work for to pay the fee? I didn't and my guess
is that many donations are private. With an official price, it should be very easy to ask your company to pay the
fee, much easier than to say "I want to make a donation to eclipse, can you pay this for me...".

Payment allows you to determine the direction of eclipse

Half of the payment goes to development determined by the eclipse foundation. The other half the paying customer can
distribute on bugs, features op specific plugins or projects (a kind of crowdfunding).

Lots of complaints

No doubt, there will be lots of complains when eclipse would suddenly start adding a price tag to the eclipse IDE. Well, if you thing this is wrong, you can apply for a discount or refuse to pay. This is totally legitimate. But if you feel guilty not paying then this may say something about you and your attitude.... So, there is no reason to complain, if you think it has to be free, you can get it for free (period).

Another reason for payment: give the competition a chance

Here is another reason why eclipse should cost: Do you remember how many IDEs existed 10-15 years ago? Do you remember how expensive they were? Who survived? How can a company create a commercial IDE and make money when they have to compete with free tools like eclipse? I think it is not good for the future of IDEs in general that eclipse is free. What happens if you offer something for free until all competitors run out of business? You create a monopoly. But is that the goal of eclipse, to kill all commercial IDEs and become a monopoly? A monopoly that eventually will die because of the tragedy of the commons...

Price

I just made an assumption of $300 but it could be $50, $100, $500 or $1000. This has to be determined. The amount of
discounts is also open but there must be a 100% discount to get eclipse for free. It is important that there is
a discount option that allows employees to choose a price that it is easy approvable within their company. If the
internal limit for easy approval is $200, you might get a "special" discount to reduce the price to that amount.

One time or subscription price

Extending the licence to new versions of eclipse should be discounted and maybe there is a subscription licence
(the exact conditions have to to be determined)

Discounts

Here are some possible reasons for discounts the user can choose form. Yes, some of the reasons are a bit cynical,
but I think they reflect reality (I'm not sure if all the reasons end up in a real implementation of the idea, and
maybe there are better ideas for good discount reasons)

I am a committer (discount of 100%)

I made contributions (10%-100%)

I reported bugs (5%-100%)

I use eclipse only for open source projects (up to 100%)

It is too expensive (you choose the price)

The price is above the limit I get approval for (you choose the price)

I cannot afford it (you choose the price)

I come form a poor country (10-90%)

Eclipse member companies should pay (100%)

In my country/company we never pay software licences (100%)

Eclipse sucks, but I have to use it (100%)

Others should pay, not me (100%)

It is my right to get it for free (because it used to be free) (100%)

To get eclipse for free, you have to acknowledge that others are paying or contributing. It is only a moral
difference. If you use eclipse for free today, you do the same: you somehow mentally acknowledge that other should
"pay" for it, in terms of contributions or money ....

Implementation

The eclipse webpage should allow to pay directly or get a free (trial) download. After using the trial
version for while (30 days of usage) a licence dialog will pop up and ask you to enter a licence or pay
(like many commercial applications). Sure, you can remove the plugin or apply for a 100% discount.

Conclusions

The intention is to create a constant revenue stream to found eclipse ground work. The payment should be worded that
accountants in companies pay the amount without much questioning. As employee to make your company to donate or
asking for time to contribute might be difficult. Getting approval for a software purchase might be simple.

12 comments:

Well, if this goes live, I hope that the licensing system used to enforce the trials will be EPL licensed, such that It can be commercially used, this would already cover more than the amount of 300 paid for the IDE ... ;)

Some good points, but I don't think trial versions and licensing would be a good option. I like the list of discount reasons. Why not simply have users select from that kind of list when downloading, and redirect either to the standard download for the 100% discount options, or to a form filled with the selected price, using the Friends of Eclipse infrastructure. That would basically make donating the default.

I think the notion of paying a big foundation that is backed by some of the richest IT companies in the world is more than a little bit obscene. Especially, considering most of them actually ship commercial distributions of eclipse to their customers. I could make the case for backing struggling, independent developers and supporting them running the infrastructure but not the likes of IBM, Oracle, etc.

As for the Eclipse foundation and its infrastructure, I think it is actually a liability for ongoing OSS development. Just move the projects to Github, dismantle the infrastructure, open up, and focus on development. The main reason this infrastructure exists is because big IT companies like it that way. Legal and control of the roadmap are why it exists, not fostering OSS development.

Maybe also get rid of the monolithic yearly releases of everything and the kitchen sink. That's another thing that matters a lot to the big stakeholders in the foundation but less to its users. I'd love more frequent releases of e.g. the Java developer tooling (which is pretty much the only thing I use anyway) but I'd be hard pressed to tell apart the 2009 version of that from the 2013 version because the eclipse foundation seems to be focused 100% on adding layers of enterprise and UML crap that I couldn't care less about. It seems only minor feature development happens on the parts of eclipse I actually do use. The last release was particularly disappointing. I used it for about a week when I realized that I could switch back to the old version and wouldn't be able to tell the difference at all. The release notes were all meh, whatever, and who cares to me. There's literally not a single new feature in there that matters to me and that I noticed was different or improved. There sure is a lot of stuff in there that I don't need or use. That looks like a year of stagnation to me, not a year of active development followed by a big release. When did Eclipse stop being about producing the best Java IDE?

@Jilles: As a contributor on some Eclipse projects and a daily GitHub user, I wouldn't see the move to GitHub as an improvement. The infrastructure at Eclipse.org is much more reliable than GitHub and allows to set up some processes that match the needs of most projects @Eclipse.org.If you want it to change that, it's actually quite simple: become a contributor on a project, and start discussing about moving it to GitHub on its mailing-list. This is allowed by the Foundation, and if you succeed to convince other contributors, you'll be able to move the project to GitHub.But just give a try to Eclipse infrastructure first, and you'll understand why GitHub is not necessarily a better place to do collaborative development.

About Eclipse not being the best Java IDE any more, it looks like this is an ongoing 3-years old discussion. The fact is that the amount of people developing the Java IDE has been decreasing, so that less innovation has happened. But some things have changes (Gerrit, CBI...) so we can see some positive metrics on the Platform project which should lead to some innovation.If you have ideas of nice features to put in Java IDE, please report them via Bugzilla. That's the best way to start making things happen.

Purchasing software is also difficult in some organisations. Anyone who will have the single dollar to pay will then consider switching to NetBeans. Such licensing would introduce some complexity that would also make some big companies worried and stop them from enforcing usage of Eclipse. Not sure how loosing users is what we want.For people who develop extensions on top of Eclipse, it's totally not acceptable to see an initiative which has risks to reduce the amount of potential users/customers.

Out of the Open-Source, what makes people use Eclipse is because it's free and because it has many plugins. What makes people develop plugins for Eclipse is because it's free to do so, and it is widely distributed.Asking money for Eclipse IDE seems very dangerous for the whole eco-system.

I don't think it will work. An optional fee is still a donation when you get down to it. The people that simply do not wish to pay will figure out quickly which response gets them the software for nothing. You might get a small increase in donations by making the donation mechanism clearer, but you are really only going to get donations from people that have strong beliefs that they should do so.