Campaign goals:

  $20,000 - 3 months (minimum for funding)
  $40,000 - 6 months
  $60,000 - 9 months
  $80,000 - one year: full roadmap, 1.0 release

(Again, I'm looking at indiegogo not kickstarter because kickstarter's terms of service won't let you raise money for salary, it's designed around the assumption you ship a physical product to each individual donor. Indiegogo will let you do outright charity drives if you want to, it's a better fit for sponsoring open source development. Of course I'll still work on this if nobody sponsors me, at about the same rate I've been doing. I'd just stop feeling guilty about my inability to keep up. :)

---------- Begin audio

Hi, I'm Rob Landley, and this campaign is to let me work full-time on the open source software package Toybox, a BSD-licensed posix command line implementation for Android and Linux.

Why Toybox? Because smartphones are replacing the PC, just like the PC replaced the minicomputer and mainframe before it. I want to help Android beat iPhone to become the new standard, so that when PCs go away the next generation of computers aren't sealed black boxes from a monopoly vendor.

Phone hardware is ready to replace low-end workstations today. They've got gigahertz processors, gigabytes of storage, broadband internet access, and displays with as many pixels as HDTV. Display peripherals attached through USB can give you a full size screen, keyboard, mouse, and so on, often packaged into a convenient docking station that even charges the phone's battery while you use it. Since there are more pockets in the world than desks, economies of scale make phones cheaper than desktops could ever hope to be, so his transition is only a matter of time.

But the software side is not ready yet. You can't compile new software on a stock Android phone. Until android provides a self-hosting development environment capable of rebuilding the entire operating system from source code, it remains tethered to legacy PC workstations. As long as Android needs a "real computer" to produce system updates, it can't _be_ a real computer and replace the PC. I want to help Android grow up.

Android needs four software packages to provide a self hosting development environment, three of which are in good hands, and the fourth is my specialty. The four are a kernel, a compiler, a C library, and a posix command line. For reasons described in the long video, Android can't use the legacy Linux versions of these packages from the PC, so it needs new Android-compatible ones. (If you doubt this, note that busybox predates Android but still doesn't ship with it. As ex-busybox maintainer, I know why this is not a problem that waiting will fix, but writing new code can, so that's what I'm doing. See the long video for the gory details.)

Android's existing kernel is already good enough: it's an extended Linux kernel which adds new features but doesn't remove any. The new compiler, LLVM, is being developed primarily by Apple, which of course gives iPhone a headstart but this package is open source enough that Android can use it too. The new BSD-licensed C library musl, by Rich Felker, is already capable of building hundreds of existing Linux packages, and should provide everything Android needs.

Toybox provides the fourth package, a posix command line capable of running the configure, make, and install stages of package builds, and generally providing good system plumbing everywhere else.

I started toybox as a casual hobby, and in November 2011 I redirected toybox development to address the Android self-hosting problem. I worked out a roadmap of over two hundred commands toybox needs to implement, and put together a test environment using toybox to build other software. Over the past year and change I've put in five to ten hours a week on toybox, purely on a hobbyist basis, finishing almost half of the planned commands.

That's not good enough anymore. Transitions happen when the market is ready, not when any specific product is ready, which is how the market wound up standardizing on DOS and Windows. The transition from PC to smartphone is happening now. <a href=http://www.slate.com/blogs/moneybox/2013/04/10/pc_sales_tumble_by_the_largest_amount_ever.html>PC sales are declining rapidly.</a> If Toybox is affect the outcome, it needs to be finished as soon as possible.

Why me? Because I'm good at this, experienced at exactly this problem, and I love doing it. I worked on busybox for years before anyone ever paid me for it, and I've been working on toybox unpaid up until now. This just lets me spend more time on it, to finish it faster, be more responsive to my contributors, and to do a better job.

Unfortunately, I'm not cheap. I want to do this, but I'm not a college student living in a broom closet eating Ramen anymore, I have a real house with a real mortgage, my wife's back in college working towards her doctorate, I'm too old to voluntarily go without health insurance, and so on. A <a href=http://www.youtube.com/watch?v=Sh-cnaJoGCw#t=35m50s>recent LinuxFest Northwest talk estimated</a> that an experienced programmer who _wants_ to work on an open source project would charge at least $75,000 a year. That's a signifcant pay cut from any of my last half-dozen contracts, but it sounds about right.

I'm bumping it up slightly to $80k for a year because indiegogo takes a cut and I want to buy some new hardware for the project, but I'm also offering a better deal by not demanding the job security of a full year. I'll do as little as three months if that's all I can get, but the full year would let me finish the entire roadmap and properly support the project.

BusyBox took almost ten years to get to the point Toybox needs to reach now if it's to help Android beat iPhone. I think this is important, I very much want to spend all the time I can afford to working on it. In the past year and a half, that hasn't been enough, so I'm asking the internet for help.

Thank you.

---------- End audio

The big video is at http://www.youtube.com/watch?v=SGmtP5Lg_t0

You can add #t=TIMESTAMP (ala #t=0m29s) to jump straight to any of the following timestamps:

 - 0m29s : Why the smartphone is replacing the PC
   - 4m22s : Software needed to become self-hosting
   - 6m20s : Do we care if android or iphone wins?
   - 9m45s : Android is not vanilla Linux: oppose or accept?
     - 11m30s : Why Open Source can't do User Interfaces
   - 15m09s : Android is not copyleft: oppose or accept?
     - Why copyleft is dying, killed by GPLv3
- 18m23s : Security issues (early PC wasn't networked, yay containers).
   - 21m15s : Solving the software problems
   - 22m55s : What toybox needs to be/do
   - 28m17s : What is toybox?
     - 28m58s : Why toybox started...
     - 37m50s : What does toybox actually implement?
   - Questions (Toybox small as busybox? Yes but simplicity > size.)

See also:

http://www.h-online.com/open/features/Inside-the-ToyBox-An-interview-with-Rob-Landley-1447494.html

And of course:

  http://landley.net/toybox

----------

Comments?

Rob
_______________________________________________
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to