Some background to give context on how Cloud9 and this maintenance fork came to be, where we are now and what will happen next.
Cloud9 IDE was spawned from Ajax.org and was one of the first companies to offer Development-as-a-Service (DaaS) tooling. Cloud9 was founded in 2010 and their development started at the time when Node.js had just released version v0.2.0. Wrapping their solution around the awesome ACE editor, they were clearly the trailblazers in their space and in uncharted territory at the time. They received $5.5 million in Series A funding from Accel Partners and Atlassian Software in 2011 and against all odds, they ended up releasing Cloud9 IDE v2 under the GPLv3 license. 🙌
As the popularity of Cloud9 increased, so did the tunnel vision development - features released in the cloud were no longer made available via the GitHub repository. Community grew a bit restless and also several GitHub issues were raised to address the future of Cloud9. One crucial feature that I myself was looking for, was a working terminal that I ended up integrating as a feature branch during summer of 2013. The developers at that time did hint that version 3.0 of Cloud9 is a major rewrite of the software and that we should all stay tuned for the eventual release and update in GitHub.
After awhile, in early 2015, it was announced that Cloud9 is changing to proprietary licensing due to business reasons to which an acquisition by Amazon followed in mid-2016. Today, The Internets seems to identify Cloud9 more as a professional multi-game esports organization, rather than a web based IDE. The original site for the product (c9.io) is being wound down and product itself assimilated to the AWS offering.
This is all great but where does it leave Cloud9v2? This maintenance fork grew out from the terminal branch organically as the original parent repository together with the issue tracker was deleted. The same happened to some of the dependencies that this project relies upon - APF being the most prominent one. As such, there was no "official" forking taking place but rather series of subconscious activities around the fact. Because the name of the project(s) were left unchanged, it was also challenging to publish them to sites like npm.
After all these years, I believe it's time to actually fork, rename and move forward with this project. After careful consideration, the new name will be Pylon IDE, or just Pylon. Due to the numerous dependency repositories, it's also a proper time to change the GitHub namespace to an organization so that it would allow better management of this project as a whole, covering all it's dependencies and plugins. Using a new namespace will allow a release to npm and will eliminate the constraint to eventually reach a major version bump to v3.0.0
and beyond.
What does it all mean?
A release of v2.2.2
will be done from this repository after which the active development will move to github.com/pylonide where the project will see further development with some (hopefully) bigger architecture changes included.
This is all done to encourage new people to try this solution out and contribute back where able, leaving the license to GPLv3, as it was originally meant to be.
Because of the eventual software entropy, I don't want to leave this specific repository in a limbo, nor in some obscure "archived" state hanging under my personal account. As such, the current plan is to:
- Release Cloud9
v2.2.2
- Transfer ownership of Cloud9 and dependency repositories under the new organization (pylonide)
- Rename the project
- Make the small changes required for the project to compile with minimal namespace changes
- Bump the minor release version and Re-release as Pylon IDE
v2.3.0
and also publish packages to npm
- A new exsilium/cloud9 repo will be created for redirecting users, as I've seen the link published in HN and other places
- Continue to build from there as an OSS project with it's own identity and encourage people to add features/improvements
- The criteria for v3 release would be that Cloud9 is no longer referenced within the project as not to confuse nor clash with C9v3
If you have questions, concerns or want to share some ideas, please use this issue to do just that! Thanks & Cheers!
Sub-tasks