Making Will Better and Better

Will is built entirely on the shoulders of giants, and has a great community of developers that move it forward. He wouldn't exist without all of them.

We also welcome new contributions no matter how big or small. Interested in contributing to will? We'd love to have you. Details below.

Our Culture

Anyone is welcome to contribute to will, regardless of skill level or experience. To make will the best he can be, we have one big, overriding cultural principle:

Be kind.

Simple. Easy, right?

We've all been newbie coders, we've all had bad days, we've all been frustrated with libraries, we've all spoken a language we learned later in life. In discussions with other coders, PRs, and CRs, we just give each the benefit of the doubt, listen well, and assume best intentions. It's worked out fantastically.

This doesn't mean we don't have honest, spirited discussions about the direction to move will forward, or how to implement a feature. We do. We just respect one other while we do it. Not so bad, right? :)

Improve will's core

For big core features, you're probably best off opening an issue, and discussing it with one of the core developers before you hack your nights and weekends away.

Core changes to will are very much welcome. In some cases, proposed changes have already been thought through, and there may be gotchas or sticking points we couldn't get past. In other cases, it might be a direction we've purposely decided not to take will. In most cases, we simply haven't thought of it, and would love the improvement!

It's always great to get a heads up of what's coming down the pipe, and have an open dialog. Thanks for reaching out and starting one!

In terms of the mechanics, you'll just want to:

  1. Fork this repo.
  2. Clone down a copy, set up redis and the env, as before.
  3. Run ./start_dev_will.py to start up just core will.

Contribute new plugins

This one's pretty simple. Write good, clean code that does one thing well, document it properly, and submit a PR!

To submit a plugin that's running in your will,

  1. Fork this repo.
  2. Clone down a copy, set up redis and the env, as before.
  3. pip install -r requirements.dev.txt
  4. Copy your plugin and docs over to the core will repo,
  5. Run ./start_dev_will.py to start up just core will, and test it out!

Code standards and PRs

This one's hopefully straightforward:

Tests

Shamefully, tests are just getting rolling, and a proper, well-architected test harness is in the works. However, there are some tests you can run by running:

coverage run -m nose

More soon!

The Shoulders of Giants

Will leverages some fantastic libraries. He wouldn't exist without them.

Will was originally written and is maintained by Steven Skoczen. Credit to GreenKahuna (now defunct) and BuddyUp for supporting those efforts with on-the-job time.

Will's also has had help from lots of coders. Alphabetically:

Other Wills

If you're looking for plugin inspiration, here are some wills that are open-sourced:

Note: Have a will you've open-sourced? Please send it in a PR or Issue! This list is tiny!

Releases

0.9.5 - June 23, 2017

Quick bugfix release before the big changeover to 1.0, pluggable backends (Slack support), and more.

0.9.4 - April 25, 2017

New releases and movement again! Exciting things in the pipeline for will, and that's starting with a long-awaited release. Thanks to everyone who both submitted code, and had saint-like patience with it being merged in.

0.9.3 - September 11, 2015

Thanks for your patience on this long-delayed release! Here's what's new:

0.9.2 - June 5, 2015

0.9.1 - May 30, 2015

0.9 - May 29, 2015

0.8.2 - April 24, 2015

0.8.1 - April 23, 2015

0.8 - April 23, 2015

0.7.3 - March 3, 2015

0.7.2 - February 27, 2015

0.7.1 - February 5, 2015

0.7.0 - February 4, 2015

0.6.9 - January 30, 2015

0.6.8 - January 30, 2015

0.6.7 - January 29, 2015

0.6.6 - January 29, 2015

0.6.5 - January 23, 2015

0.6.4 - January 19, 2015

0.6.3 - December 30, 2014

0.6.2 - September 23, 2014

0.6.1 - September 23, 2014

0.6.0 - September 17, 2014

0.5.7 - September 3, 2014

0.5.6 - August 26, 2014

0.5.5 - August 25, 2014

0.5.4 - July 22, 2014

0.5.3 - July 11, 2014

0.5.1 - July 2, 2014

0.5 Omnibus - June 27, 2014

0.4.10 - June 6, 2014

0.4.9 - May 28, 2014

0.4.8 - May 21, 2014

0.4.7 - May 15, 2014

0.4.6 - May 5, 2014

0.4.5 - May 2, 2014

0.4.4 - April 22, 2014

0.4.3 - ~ April 1, 2014

0.4 - ~ March 2014