Is Deployd Dead?

Deployd isn't dead. It's like a Grizzly bear, hibernating, dreaming about the spring.

I get asked a lot about the status of the project by folks who have fallen in love with the framework. Truthfully, none of us have been very communicative about what's going on with the project and why it's slowed down so drastically. I hope to (as briefly as possible) shine some light on how the team's changed, how the project's changed, and how I think it will move forward.

Run-on sentence of history: deployd was an open source rapid API development framework created by myself and +Ritchie Martori  mid-2011, joined later by +Dallon Feldner, which we formed into a startup in early 2012 and worked full-time on as an open source project with (in-development) commercial offerings for about 9 months, but then decided to get full time jobs at Google, StrongLoop and some place in Austin, at which point we all got busy with things like starting new jobs, moving to different states, spending time with our loved ones who'd been neglected for most of a year, and despite frequent attempts between myself and Ritchie to collaborate further on deployd, have had a hard time aligning on where to focus and what the best approaches were to hard problems, but have been honing in more on what the future of deployd should look like, and have been taking small steps to improve the project architecture and infrastructure, more clearly define the process for contributing to deployd core and the deployd ecosystem, and re-define the project as a purely open source community project.

I love deployd and use it all the time, and will even be presenting on using it with Angular at ng-conf in January: http://ng-conf.org/#schedule. It's also been a critical tool for me in exploring the next generation of data persistence for AngularJS in my OmniBinder project https://github.com/jeffbcross/omnibinder. But there are still many rough edges with deployd that make it a challenge to use for production apps, and a fair amount of changes are needed to get it to a solid 1.0.

So here's what Ritchie and I see as next steps for continuing to make the core project and the ecosystem a happy place:

COMMUNITY
 * Ritchie and Jeff more active in triaging/responding to Github Issues
 * More communication and feedback solicitation about roadmap
 * More committers :). A pre-requisite to this is some refactoring and better documentation of the core, which Ritchie and I have been improving
 * More maintainers :). I'll be recruiting (begging?) some deployd experts to take an active role in helping to triage issues and determining direction of the project. More distributed project ownership reduces the likelihood of long periods of neglect.
 * Better guidelines for contributing (see the new Contributing doc borrowed from Angular)

INFRASTRUCTURE
Node and JavaScript testing has come a long way since we started deployd, and the project needs to catch up. The project needs:
 * More testable code
 * More coverage
 * Mocks to run tests more easily and cheaply
 * More, and better-organized integration/e2e tests
 * Clean up of outdated Github milestones, replaced by milestones that reflect the current roadmap

CORE IMPROVEMENTS
 * Bug fixes
 * Abstraction of Data Store so databases other than MongoDB can be used
 * Continual improvements to the Resource API so powerful resources can be created as third-party modules
 * Support as Connect/Express Middleware so deployd doesn't have to act as the server.
 * More flexibility and features in Users Collection
 * Usability and performance improvement of events, such as allowing require() in events and not creating new node contexts for each event execution.
 * Better APIs for session/authentication and roles in core
 * Dashboard refactor to be built as single page AngularJS app with thorough e2e tests
 * Ability to write third-party deployment management for deployd apps, with UI in the dashboard

I'm sure there are many more things that could go in this list.

So what can you do to help?
There are two things:
1) Help shape the roadmap (ideally by opening descriptive Github issues of how deployd could be improved), and
2) submit some PRs to github.com/deployd/deployd (ask me if you want ideas on where to start). Personally, I've been working on improving testing in the core, and implementing the Express middleware feature, and then Ritchie and I are both eager to work on the difficult problem of Data Store abstraction.
Shared publiclyView activity