Thursday, March 14, 2013

Keeping PyDev alive through crowdfunding

Ok, I just started a crowdfunding project (at www.indiegogo.com) for the continued development of PyDev (and improvements on Eclipse overall).

In this post, I hope to shed some light on why this funding is needed.

First, a little bit of history just to give some context: I've been developing PyDev for more than 10 years already (wow, I just realized that as I started the campaign) and it's definitely a pretty successful project (if it's not the most used Python IDE, it's definitely among the top ones).

So, backtrack a few years...

PyDev started doing success and I created a commercial extension to enable me to work more time on PyDev itself. After some time, Aptana acquired it and I joined them. Unfortunately, Aptana itself didn't turn out very well: it focused on its main product (the IDE) without generating any revenue from it, while trying to make side projects worthy enough to cover for everything (but those side projects weren't successful enough for that).

Enter Appcelerator: it acquired Aptana out of the need to provide a deeper integration for its main product (which is Titanium). So, for some time, it did back up the PyDev development (along with the other languages), but in the end, their main product is Titanium and the tools around it, so, PyDev itself wasn't seen as relevant enough to be kept supported (to be clear, they're still hosting the homepage and downloads, but not backing the development itself). As such, in the end of the last year they stopped supporting its development.

So, that's where the project is at now: it's (IMHO) a pretty successful, but unable to generate revenue for its continued support. Given this scenario I decided to create a crowdfunding project to ask for the community to provide resources to make that happen.

In the funding, I expanded its reach a bit, on what I think are the main issues with the PyDev environment right now. So, the idea is focusing on a nicer dark UI, usability, speed and memory and providing a way to easily have other editors out of the box in a lightweight implementation (Python is pretty strong in the web, so, one of the weak points right now is actually not the Python editing itself, but related web languages, such as CoffeScript and JavaScript).

That's too bad about Aptana (didn't know they stopped supporting it). PyDev was the only reason I ever used it. You should try and get someone to make an announcement at PyCon (starting tomorrow) so that hopefully more people will contribute.

Regarding PyCon, the crowdfunding itself seems to be providing many nice contacts, so, hopefully some people at PyCon will see it (and thankfully, after 10 years doing PyDev many people seem to think it's a nice project and are actively funding it).

Regarding Aptana, hopefully enough people will see the project being worthy -- that way I can provide you with an alternative :)

Well, they offered to keep the issues there, but I can't really stand JIRA and going back to the sourceforge tracker isn't an alternative either, so, I'll probably put on a new home for it at

https://sw-brainwy.rhcloud.com/

-- it's a side project I did to learn JavaScript and I feel much more comfortable working on... it still has many rough edges, but I expect to fix the main shortcomings before the end of the funding and use that as the new place to report PyDev issues...

Note that I still haven't created the PyDev project there yet, and it really only makes sense reporting anything if the funding goes well -- which based on the first hours of the funding I totally think will turn out well, so, please keep sharing it :)

So, in short, please wait a bit before I can put up a nice place for PyDev issues :)

It's a shame Aptana/Appcelerator won't support PyDev development anymore. I thought PyDev gave them a wider audience than what they would get without it.

But to comment on your plea for support, I'd love to support PyDev development but I find it a bit unfortunate that it is linked to this LiClipse project which I have never heard of before and which sounds like a fork of Eclipse focusing on providing a new GUI theme? It's not clear to me how these two projects are actually related to each other (it's not even clear if a future PyDev would still work with the original Eclipse). That's why I'm actually hesitant to contribute right now.

Wouldn't it make more sense to split those two projects as they are seemingly unrelated. I would feel much better if I knew that actually a 100% of my contribution goes towards the development of the tool I care about. Now it feels like the majority of my contribution would actually support the development of a tool I don't need.

Anyway, thanks for your efforts so far and good luck for your future projects (whatever direction it goes)!

I'm with Matt.. My only interest is in supporting PyDev as I use it daily for AppEngine development. Even though my company will likely pledge the minimal amount.. I would likely pledge more, as a company contribution, if I knew that I wasn't just funding something I don't really care about.

If you don't have interest in the UI enhancements or support for other languages but would like PyDev to remain supported and enhanced, you can choose this perk and your support won't count towards enhancements on LiClipse, only for PyDev itself.

You'll receive a vote in the PyDev tracker, and the more you add to this perk, the more your vote will count to decide the next features tackled in PyDev.

It would have been interesting to do a poll among the PyDev users to find out what the general opinion on a bundle-up with LiClipse is. But now as the funding has already started, adding such a PyDev-only perk sounds like a good idea, so you can still get some idea where the priorities of your users are.

I'm not entirely sure how you will then use this information to schedule your work time once the funding gets through, but I leave that up to you. :) At least, I could then express my opinion that I only care about PyDev and will then definitely add some money to that perk

Fabio, Pydev is great and lots of us would like to help. However, I think you shouldn't try to solve the problem of eclipse and other languages in general..Here's why:- Most of your funding is likely to come from grateful existing users who are ok using pydev with eclipse b ulky or not- Other language support in eclipse may be a good goal ...yet most people don't want to fund something that's already there and slow only on possibly very old machines...

Anyways...consider using Razoo.com since their overhead fee is much lower Also consider making all options open source...if after $25K its not open source, you're not likely to pull enough support...

I agree most of the funding is likely to come from existing PyDev users which may like or not the other items proposed.

I'm not going against that, so, what I've done is create a new perk called 'PyDev Knight' which will count only towards my work on PyDev itself (and will leave it up to the community to decide what it thinks its better).

The PyDev code right now is owned (mostly) by Appcelerator. I say mostly because it's all EPL and there are parts gotten from Eclipse itself (in which case, the Eclipse foundation would have the copyright for those parts).

Anyways, it's all EPL code, so, anyone is free to get it and change it (and even rebrand it) as wanted -- provided that the EPL license is respected (what can't be done is license it differently, so, for instance, I can't get that code and change it to MIT now).

Note that this is very different from the Aptana Studio codebase, which has a modified GPL version which basically says that you can only link with the exact same EPL versions they released it (so, for instance, it's impossible to change both the PyDev and Aptana Studio codebase at the same time and redistribute it, nor even distribute it against a newer version of Eclipse), and you cannot rebrand it.

Regarding the code sponsored in the campaign, I'll own it and I'm hoping the amount reaches enough to make it open source (but note that I still must respect the boundaries of existing libraries, so, some parts will be open source anyways even if the needed amount to make everything open source is not reached).

As for the license, when you buy it, its yours, so, yes, you can use it at your employer and take it with you (but note that your employer could buy a license too, in which case it would always be linked to it and they could change the employee using it as they see fit).