Hello!

The project funding working group recently received this inquiry. Is this something that the PSF Board might consider offering as an educational tool under the PSF brand, and potentially provide sponsorship to? Education WG: do you have any thoughts about the utility of this resource?

-Cristina



‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, February 10, 2021 7:06 AM, Alex Hall <alex.mojaki@gmail.com> wrote:

Hi,

I'm developing futurecoder, a free and open source platform/course for people to teach themselves programming in Python, especially complete beginners at programming: https://futurecoder.io/

I want to explore possibilities for funding grants for futurecoder. There are many ways funding could be used:
  • Hosting
  • To pay for services provided by Changeset to advance the project, such as contributor outreach
  • To hire contractors for specific development tasks that aren't my strong point
  • To be able to quit my job and work on futurecoder full time.
The last point is what I'd like most but also seems the most uncertain. I'm writing to ask for advice on what I can realistically aim for before I try writing a grant proposal. In the case of Changeset, I'd like to set up an initial 30-minute consultation.

I'll get into more details on my questions for you below, but first I'll preemptively answer a couple of questions you may have. Of course an actual grant proposal would tackle these questions better.


Why would anyone consider funding this project?

futurecoder is of interest to anyone who wants to improve education, whether that's in general or specifically in regards to programming, Python, or freely available resources.

There are of course many existing resources for learning programming, but I find them lacking:
  • Most are static, passive resources such as text and videos. futurecoder is fully interactive.
  • The best resources usually require payment
  • Even the best interactive resources (free or not) provide little more than a place to run code and a check on whether that code is correct. futurecoder is packed with tools and enhancements to help users learn, several of which are completely unique to futurecoder. In my opinion futurecoder already easily provides the best learning experience over any other resource, particularly for students who find programming difficult. The website explains this in further detail, particularly the video presentation.
Why fund full time development?

I've been working on futurecoder for a bit more than a year now, mostly alone, entirely in my spare time. I could maybe continue doing this indefinitely, but:
  • This reduces quality as it's hard to allocate spare time and energy to tasks that are more difficult, time consuming, or tedious. Ultimately this could mean the difference between success and failure.
  • It's hard to sustain - I'm more likely to lose interest or give up one day if progress becomes too slow and difficult.
  • It takes a lot longer. The sooner I can release content and features and attract users, the sooner the world can benefit and more people will learn Python.
Now for my questions: What funding models are possible? How would scoping work?

Ideally I would just be paid monthly to do as much work as I can and my work is planned and reviewed as I go. Is that even possible?

In practice I know it doesn't generally work like that and I probably need a specific and narrow scope and set of goals. For example, I could aim to reach some definition of 'ready', including:
  • Course content covering a minimal set of topics
  • A robust, scalable cloud architecture
  • Various little critical features and bugfixes
But trying to scope the project like this raises all sorts of doubts and concerns for me:
  • Estimating time is hard. What happens if I over or under estimate the time required to reach these goals?
  • What happens after the scope is completed? This is a massive and ambitious project. There will always be more work worth doing. But it would be difficult to scope and plan more than three months in advance, and I'm worried about alternating between working for short sprints and waiting for months for the next grant application.
  • What if a contributor wants to work on a task within the scope that I'm being paid for?
  • What happens if things change while waiting for the grant application? What if some of the proposed work gets done, or it becomes clear that the requirements or time estimates need to be changed?
Is getting funding likely?

Of course I think futurecoder is great, but I'm biased and I can't concretely prove its value. Does it look like something that would impress certain funders?

How likely do you think I am to get funding to work on futurecoder full time? This affects other decisions in my life, particularly related to work.

Thanks for your time! I know this was a long email with many difficult questions, I'll understand if answering everything is too much.

Kind regards,
Alex Hall