PyDev and LiClipse for a Fast, Sexy — and Dark Eclipse
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 is able to be properly 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").
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.
Can you make LiClipse a bit more concrete?
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 about PyDev?
This funding will enable me to keep PyDev itself properly supported and evolving. My main focus during this project funding will be geared towards usability, speed and memory improvements.
But note that LiClipse support should also be worthy for PyDev users (especially for those that like a dark theme or would like to work with Mako, Django templates, and other languages inside Eclipse).
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?
I’m a strong believer of open source and my hopes are doing as many things as possible open source, but 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!
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)
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).
For accounting purposes, if the funding succeeds, 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).