Update
Thank you everyone that made this crowdfunding a success!
For late backers that would like to help PyDev to keep on going, please become a supporter at:
https://sw-brainwy.rhcloud.com/
Supporters can also vote on the tickets reported to help deciding the roadmap for PyDev.
Who is planning this?
First let me introduce myself: I'm Fabio Zadrozny, and I've been developing PyDev (http://pydev.org) for a long time (10 years and counting).
During that time, I maintained PyDev in many different situations: first I did it only in my spare time and later it was backed by Aptana and afterwards by Appcelerator. Some months ago, Appcelerator decided to stop supporting it, so, I'm asking the community to help me in the endeavor of continuing the project.
As a note for those that don't know PyDev: it's a plugin to edit Python inside of Eclipse and it's among the best environments available for that purpose (in 2011, it was a technology winner in the Eclipse community awards).
What are the targets of the project?
Besides making sure that PyDev keeps evolving (while remaining open source and well supported), I want to improve the Eclipse UI and provide a toolchain which will provide at least basic support for many languages out there (which is named LiClipse: a short for "Lightweight Eclipse").
Still, note that most of the work in the proposal is geared towards PyDev itself (and even more so based on the number of people that contribute to the PyDev Knight perk -- see details below).
Why LiClipse?
The idea is having an easier way to add an editor inside Eclipse (while developing PyDev, I do get many requests for adding support for editors related to Python, such as Django templates, Mako, Restructured text, Cython, etc), so, this will provide me with a basis to do that (and with the basis in place, the idea is having the possibility of creating an editor without knowledge of Eclipse and in a very fast way -- current technologies for that such as DLTK or XText aim much higher and are not trivial. I really want to have a way to have a basic editor inside Eclipse just specifying the language very 'loosely' -- say, something that'd take you 15-30 minutes and almost no special knowledge of Eclipse internals -- one would need more knowledge of Eclipse internals only for more advanced stuff).
I just want to support PyDev and won't be using LiClipse
No problems, if you think the other proposed improvements will not benefit you but you still want PyDev itself to remain properly supported and enhanced, please contribute to the "PyDev Knight" perk.
Also note that if you provide to the PyDev Knight a contribution which would match the 'sponsor' level for LiClipse perks, you'll also get space in the homepage (which includes your logo and a link you want) -- the homepage gets around 200k pageviews monthly.
Are there targets for PyDev?
Initially there weren't any pre-defined targets, but after gathering feedback, I think I can now delineate some major features to be done for the proposal (besides the usual bug-fixing and support):
1. Improve the type inference to deal with docstrings (so, it should be able to offer code-completion for parameter or method returns if those are properly documented).
2. Improve the interpreter configuration. Right now, one of the major hurdles in using PyDev seems to be related to the fact that the user must always re-update the interpreter configuration when there are changes done in the system. I want to provide a way to make this automatic.
3. Speed and memory; further profilings should be done to make it even faster (more speed is always better right?)
Note that these are the initial targets for PyDev. Other targets will still be decided later on based on more community feedback (a proper tracker will be setup for that).
Can you make LiClipse a bit more concrete?
Sure... the idea is having a *fast* editor which will support many languages out of the box (such as Coffescript, Javascript, Django templates, Mako, Ruby, Java, HTML, etc.), while making it dead-simple to extend that support to include other languages (i.e.: no need to actually create an Eclipse plugin for that).
Note that these editors may not be as powerful as their existing counterparts (such as JDT, CDT and PyDev), but they'll have speed, usability and good looks at its core.
Surely, the support for each language is expected to have features such as syntax highlighting, indenting, auto-closing of braces (or tags), linked edition, template completions, outline, among other common features all Eclipse editors are expected to have.
Some editors may also have more advanced features which may rely on deeper knowledge of the language, such as syntax checking, refactoring, improved unit-test support and code analysis (but only if adding that support is possible to achieve while making the editor lightning fast).
What about making it a piece of art?
The idea is creating a theming infrastructure which will be based on the latest UI improvements from Eclipse 4 to provide fully dark (and light) versions of Eclipse for the whole IDE (including menus, status bar and even preference pages).
Also, it should be a good Eclipse citizen and apply the colors to all existing editors too (such as Eclipse Color Themes does: http://eclipsecolorthemes.org), but it'll go a bit further, providing much more options to theme in the IDE.
Apart from theming, I want to provide some improvements to the editor UI:
- Create a scroll bar replacement that can be themed.
- Provide a minimap which can be used by any editor.
- Improve how the multi-column selection works (I find the current enter mode/leave mode a bit bureaucratic).
- Study and research other usability improvements during the project (as time/funding permits).
What will the money be used for?
It'll all go directly to the development of the project (so, more resources means more things may be done).
Will it be Open Source?
All the work on PyDev will be completely open source.
As for LiClipse, although I'm a strong believer of open source and my hopes are doing as many things as possible open source, it depends on the funding level achieved... (because I want to attempt to keep the project financially viable after the work on this proposal). Take a look at the funding goals and licensing below for more details.
I really enjoy PyDev and your ideas, but I can't contribute...
If you can't contribute yourself, but like the idea and goals, please help in getting the word out!
Funding Goals
Basic funding (25k)
Ok, first breakthroug: all the targets of the project will be executed (although the support in this level may not be as advanced as I'd like). Also, the final version won't be open source.
Goal #1 (50k)
Achievement unlocked: more theming and usability improvements can be done. Also, those improvements will be open sourced (through EPL).
Advanced Goal #2 (100k)
If this level of funding is achieved, not only the theming and usability improvements will be available as EPL, but also the code that supports all the languages (and in this case, only advanced extensions for some languages will remain proprietary).
Advanced goal #3 (150k)
Rejoice Coffescript lovers: advanced extensions for Coffescript are also guaranteed (and will be open sourced).
Advanced goal #4 (200k)
Achievement unlocked: Advanced extensions for Javascript will happen too (and will also be open sourced).
Licensing
As far as the licensing goes, perpetual licenses means you can use it with any version of the software (so, you can use it and any future upgrades regardless of the version). If you're a company, this license doesn't have to be bound to a specific employee (but only a single employee may use it each week). If you're a person, it'll be soul bound (i.e.: it'll have your name/e-mail on it).
Regular licenses will be available for a specific version of the software, so, if you get a license now, you'll receive the license for version 1.0 and any upgrade in the 1.x version (so, you'll have to get a new license only when a version 2.0 is released -- and only if you want to upgrade).
Important: perpetual licenses,will only be available through the funding campaign (it's only fair that those that really believe in its vision now and actually make the project happen enjoy its benefits forever).
Invoicing
For accounting purposes, if the funding succeeds, and you request it, you'll receive an invoice which will either specify the licensing of a product (if some of the perks with licenses for LiClipse is chosen) or software support (for the PyDev Knight or Altruist perk).