Last Update: November 7, 2017
Quick note: I'll be updating this with more information now that Will 2.0 is out, and we're learning what really makes sense in the wild. What's below is roughly the roadmap from April 2017.
A Note from Steven
"Open source projects with no funding mechanism typically stagnate and die." -GreenSock
I read that quote a few years ago when considering using GreenSock in a front-end product, and it stuck with me since, in both Will and my other projects. At first, the statement really bugged me - but as I looked objectively at my own long list of abandoned open-source work, I realized there was a deep truth to it.
Will has gone on a similar journey - it was written with the support from a couple of my day jobs, and after those left, my time dried up, and the project started to stagnate.
That stagnation has bugged me for a long time, but I didn't really have a way to solve the problem until now.
What this document outlines is a future roadmap for Will that's both open-source and revenue-generating. A project that can keep the codebase active, healthy, and adding new features (First up: Slack), while also paying my (and hopefully other folks') bills - and with some luck, maybe even changing the world.
I recognize that a lot of people have contributed to will, and while many of you will be thrilled by the prospect of active, sustainable development, a few folks might have the "OMG WHAT KIND OF SELL OUT BULL*** IS THIS??!?!". To those folks, I'd like to reiterate - Will is open-source, and is going to stay that way. :)
Now let's talk about how.
Note: I use the royal "we" below because it feels more natural in the long-term. Right now it's just me and it's awkward. Thanks for rolling with it.
Overall Project Structure and Goals
Will is being founded as a company, and with the core chat bot product, we'll have both the open-source library and a PaaS/SaaS service (ala Wordpress.com/.org). The core of the company is around an idea we call Personal AI.
(Read more about the mission at http://heywill.io/mission.)
This shift means growing the project to something much bigger than a hipchat bot, and into a write-once, run anywhere platform for chat bots, AIs, and fun new holy-crap-that's-amazing ideas.
The big goal is to provide an easy-to-build-on batteries-included platform that bridges modes of communication (HipChat, Slack, SMS, Email, Telegram, FB Messenger, etc) with services (IFTTT, Amazon AI, IBM Watson, Google APIs, etc) and built-in AI tools (NLP, ML, DL, etc).
This broader platform serves as an OS for AI development, and has the tremendously creative working name of AIOS.
Developers can build AIOS apps (our current plugins) for will using any and all of those tools, and run them on their personal wills or distribute them to a broader audience.
Will the company will focus, like Wordpress, on running the PaaS and SaaS platforms, and a marketplace for apps. Our goal is to keep Will development brisk, bring in talented folks across the spectrum, and keep Will available to anyone, anywhere on the planet, regardless of financial or technical access.
Project Roadmap
Here's the nuts and bolts of how, today, we see this rolling out.
0.9.4 - Released April 25, 2017 - catches up almost all open PRs
1.0 - Released September 29, 2017 closes up existing issues, code cleanup and prep for improvements
2.0 - November 4, 2017 - Slack Support, IOBackend
documented and working. PRs for new IOs accepted.
2.1 - A pure-python pubsub backend, Telegram Support, and a cleaned up API for introspecting and accessing the results of analysis and generation.
2.2 - API Backend released, via an APIBackend
implementation of IOBackend
. Allows folks to spin up Will and control him completely via a RESTful API.
2.3 - IFTTT Support, SkillsBackend
documented and working. PRs for new Skills accepted.
2.5 - Will UI, with on-the-fly config, plugin enable/disable, and restartability.
2.6 - App specs for AIOS and AIOSApp
class released.
2.7 - Release of first five apps. TBD, but considered: (Image me, Remind me, Groceries, News Summary, Scattegories, Stale Package Finder)
3.0 - App Marketplace released, Git library integration released, and all existing Will plugins released as AIOS apps.
2.0+ - "The root of all evil is premature optimization." Releases after 2.0 are likely to move in a direction of improved AIOS features, more built-in AI tools, smarter and richer message processing and context, cross-app communication, and speed/reliability bumps. We'd also like to look at the feasibility of authoring apps in both Python and JS.
That said, this will really be determined after 2.0 is released, the launch craziness settles down, and we hear from the community and customers which directions need the most support, and what pain points folks are feeling the most.
We can't wait to have those discussions.
Release Schedule.
A new version of Will will be released on the 1st of every month, with a 12-month guarantee for IOBackend
, SkillsBackend
, API and AIOS APK function stability, and a minimum 6 month deprecation warning.
Questions and Comments
I've set up an issue here to talk through this new direction, hear people's thoughts, comments, suggestions, and feedback.
I'm so excited to take will in this new, bigger direction, find consistent time and energy to keep him maintained, and grow him into something amazing together.
Thank you so much for contributing to will thus far, and I can't wait to see where we take him together!
-Steven