@@ -47,9 +63,11 @@ if (window.location.hostname == "www.django-rest-framework.org") {
...
@@ -47,9 +63,11 @@ if (window.location.hostname == "www.django-rest-framework.org") {
margin: 0 auto;
margin: 0 auto;
margin-top: 8px;
}
margin-top: 8px;
}
.specs {
.specs {
margin-top: 20px;
}
margin-top: 20px;
min-height: 130px;
.specs.startup {
}
margin-bottom: 93px
}
.specs.freelancer {
min-height: 0px;
}
.spec {
.spec {
font-size: 15px;
font-size: 15px;
color: #474747;
color: #474747;
...
@@ -79,27 +97,32 @@ form.signup {
...
@@ -79,27 +97,32 @@ form.signup {
# Funding
# Funding
> As a direct result of [a successful Mozilla grant application](mozilla-grant.md), I will be leaving my current role at [DabApps](http://www.dabapps.com), and attempting to secure a sustainable business model for REST framework development. I need your help in order to make this work.
>
> — Tom Christie
If you use REST framework commercially we strongly encourage you to invest in its continued development by signing up for a paid plan.
If you use REST framework commercially we strongly encourage you to invest in its continued development by signing up for a paid plan.
**We believe that collaboratively funded software can offer outstanding returns on investment, by allowing users and clients to collectively share the cost of development.**
**We believe that collaboratively funded software can offer outstanding returns on investment, by encouraging our users to collectively share the cost of development.**
Signing up for a paid plan will:
Signing up for a paid plan will:
* Directly contribute to faster releases, more features and higher quality software.
* Directly contribute to faster releases, more features, and higher quality software.
* Allow more time to be invested in documentation, issue triage and community support.
* Allow more time to be invested in documentation, issue triage, and community support.
* Safeguard the future development of REST framework.
* Safeguard the future development of REST framework.
REST framework will always be open source and permissively licensed, but we firmly believe it is in the commercial best-interest for users of the project to fund its ongoing development.
REST framework continues to be open-source and permissively licensed, but we firmly believe it is in the commercial best-interest for users of the project to invest in its ongoing development.
---
---
## Making the business case
## Making the business case
Our successful Kickstarter campaign demonstrates the cost-reward ratio of shared development funding.
Our [successful Kickstarter campaign](https://www.kickstarter.com/projects/tomchristie/django-rest-framework-3) demonstrates the impressive cost-reward ratio of shared funding of open-source software.
With *typical corporate fundings of just £100-£1000 per organization* we successfully delivered:
With *typical corporate fundings of just £100-£1000 per organization* we successfully delivered:
* The comprehensive 3.0 serializer redesign.
* The comprehensive serializer redesign, and **version 3.0 release**.
* Ongoing triage and community support, **closing over 1600 tickets**.
* Substantial improvements to the Browsable API.
* Substantial improvements to the Browsable API.
* The admin interface.
* The admin interface.
* A new pagination API including offset/limit and cursor pagination implementations, plus on-page controls.
* A new pagination API including offset/limit and cursor pagination implementations, plus on-page controls.
...
@@ -110,13 +133,14 @@ With *typical corporate fundings of just £100-£1000 per organization* we succe
...
@@ -110,13 +133,14 @@ With *typical corporate fundings of just £100-£1000 per organization* we succe
* Internationalization support for API responses, currently with 27 languages.
* Internationalization support for API responses, currently with 27 languages.
* The metadata APIs for handling `OPTIONS` requests and schema endpoints.
* The metadata APIs for handling `OPTIONS` requests and schema endpoints.
* Numerous minor improvements and better quality throughout the codebase.
* Numerous minor improvements and better quality throughout the codebase.
* Ongoing triage and community support, closing over 1600 tickets.
This incredible level of return on investment is *only possible through collaboratively funded models*, which is why we believe that supporting our paid plans is in everyone's best interest.
This incredible level of return on investment is *only possible through collaboratively funded models*, which is why we believe that supporting our paid plans is in everyone's best interest.
Sign up for a paid plan today, and help ensure that REST framework becomes a sustainable, full-time funded project.
---
---
## Individual plan
## Freelancer plan
This subscription is recommended for freelancers and other individuals with an interest in seeing REST framework continue to improve.
This subscription is recommended for freelancers and other individuals with an interest in seeing REST framework continue to improve.
...
@@ -126,12 +150,12 @@ If you are using REST framework as an full-time employee, consider recommending
...
@@ -126,12 +150,12 @@ If you are using REST framework as an full-time employee, consider recommending
<divclass="span4">
<divclass="span4">
<divclass="chart first">
<divclass="chart first">
<divclass="quantity">
<divclass="quantity">
<spanclass="dollar">$</span>
<spanclass="dollar">{{ symbol }}</span>
<spanclass="price">15</span>
<spanclass="price">{{ rates.personal1 }}</span>
<spanclass="period">/month</span>
<spanclass="period">/month{% if vat %} +VAT{% endif %}</span>
</div>
</div>
<divclass="plan-name">Individual</div>
<divclass="plan-name">Freelancer</div>
<divclass="specs">
<divclass="specs freelancer">
<divclass="spec">
<divclass="spec">
Support ongoing development
Support ongoing development
</div>
</div>
...
@@ -143,10 +167,10 @@ If you are using REST framework as an full-time employee, consider recommending
...
@@ -143,10 +167,10 @@ If you are using REST framework as an full-time employee, consider recommending
@@ -279,36 +306,54 @@ Our professional and premium plans also include **priority support**. At any tim
...
@@ -279,36 +306,54 @@ Our professional and premium plans also include **priority support**. At any tim
*Billing is monthly and you can cancel at any time.*
*Billing is monthly and you can cancel at any time.*
Once you've signed up we'll contact you via email and arrange your ad placements on the site.
Once you've signed up I'll contact you via email and arrange your ad placements on the site.
For further enquires please contact <a href=mailto:tom@tomchristie.com>tom@tomchristie.com</a>.
For further enquires please contact <a href=mailto:tom@tomchristie.com>tom@tomchristie.com</a>.
---
---
## Roadmap
## Accountability
Although we're incredibly proud of REST framework in its current state we believe there is still huge scope for improvement. What we're aiming for here is a *highly polished, rock solid product*. This needs to backed up with impeccable documentation and a great third party ecosystem.
In order to ensure that I can be fully focused on trying to secure a sustainable
& well-funded open source business I will be leaving my current role at [DabApps](http://www.dabapps.com)
The roadmap below is a broad indication of just some of the ongoing and future work we believe is important to REST framework.
at the end of May 2016.
* Increasing our "bus factor" through documented organizational process & safeguards.
I have formed a UK limited company, [Encode](http://www.encode.io), which will
* More time towards testing and hardening releases, with only gradual, well-documented deprecations.
act as the business entity behind REST framework. I will be issuing monthly reports
* A formal policy on security backports for non-current releases.
from Encode on progress both towards the [Mozilla grant](mozilla-grant.md), and for development time
* Continuing triage & community support.
funded via the REST framework paid plans.
* Improved project documentation, including versioned & internationalized docs.
* Improved third party package visibility.
<!-- Begin MailChimp Signup Form -->
* Refining the admin interface, ensuring it has a fully customizable API and making it suitable as end-user facing application.
We have recently been [awarded a Mozilla grant](https://blog.mozilla.org/blog/2016/04/13/mozilla-open-source-support-moss-update-q1-2016/), in order to fund the next major releases of REST framework. This work will focus on seamless client-side integration by introducing supporting client libraries that are able to dynamically interact with REST framework APIs. The framework will provide for either hypermedia or schema endpoints, which will expose the available interface for the client libraries to interact with.
Additionally, we will be building on the realtime support that Django Channels provides, supporting and documenting how to build realtime APIs with REST framework. Again, this will include supporting work in the associated client libraries, making it easier to build richly interactive applications.
The [Core API](www.coreapi.org) project will provide the foundations for our client library support, and will allow us to support interaction using a wide range of schemas and hypermedia formats. It's worth noting that these client libraries won't be tightly coupled to solely REST framework APIs either, and will be able to interact with *any* API that exposes a supported schema or hypermedia format.
Specifically, the work includes:
## Client libraries
This work will include built-in schema and hypermedia support, allowing dynamic client libraries to interact with the API. I'll also be releasing both Python and Javascript client libraries, plus a command-line client, a new tutorial section, and further documentation.
* Client library support in REST framework.
* Schema & hypermedia support for REST framework APIs.
* A test client, allowing you to write tests that emulate a client library interacting with your API.
* New tutorial sections on using client libraries to interact with REST framework APIs.
* Python client library.
* JavaScript client library.
* Command line client.
## Realtime APIs
The next goal is to build on the realtime support offered by Django Channels, adding support & documentation for building realtime API endpoints.
* Support for API subscription endpoints, using REST framework and Django Channels.
* New tutorial section on building realtime API endpoints with REST framework.
* Realtime support in the Python & Javascript client libraries.
## Accountability
In order to ensure that I can be fully focused on trying to secure a sustainable
& well-funded open source business I will be leaving my current role at [DabApps](http://www.dabapps.com)
at the end of May 2016.
I have formed a UK limited company, [Encode](http://www.encode.io), which will
act as the business entity behind REST framework. I will be issuing monthly reports
from Encode on progress both towards the Mozilla grant, and for development time
funded via the [REST framework paid plans](funding.md).