I just read the long threads of chatter on funding Perl6. I have a few words for y'all... but first a slight digression:
In August 2001 I was offered the oportunity to be funded for the (then somewhat) exciting Inline project. For various reasons, probably including a certain terrorist attack, it didn't happen. Six months later I reflected on it, and was quite happy I didn't get the money. Why?
For me, being on the hook to produce something of quality, by the money of your friends and admirers is no fun. At that point I decided that I would never accept money directly tied to the goal of me completing an open source project.
Prior to that I watched on as Damian drew funds from the community. He was a great show to watch. He made a lot of promises, delivered many, failed on some, always working hard, but he seemed to be under the gun, worn out and stressed. In my mind, it seemed like the ties to cash didn't allow him to work on whatever whim (and he has the world's best whims) he wished, as he had in the past. In a way, I felt more of a loss than a gain for the "funded Conway".
I have a lot of open source projects. Big long term ones. Ones involving lots of people. The major ones are:
There are close to a dozen more larger scoped ones , lots of smaller stuff, and contributions to other people's important projects.
I never shirk away from adding to the pile. It's not that I think I can do it all myself; quite to the contrary. It's just that I think it is stuff that needs to get done. I am really just sheparding it.
I often fancy myself as an Open Source Project Manager. As such I would like to give 10 points of advice to others who would like to do the same.
1) Think Big. Imagine the software world as you would want it.
2) Be Realistic. Make sure your cool stuff fits into the rest of the community's cool stuff.
3) Under Promise. Don't generate more excitement about your project than you know it can handle. If it is cool, then it *will* happen. It's like a tree. Give it lots of time and water and sunshine to grow.
4) Get Help. I do everything in the most open way I can. I need to. I need help and lots of it.
5) Be Obsessed. Great software is created by obsessed people. Integrate your projects into your life. Breathe them. Too hectic for your family oriented life style? Maybe you aren't cut out for this.
6) Steal Money. The way to fund your project is to find a job that gives you enough flexibility to do your cool stuff.
7) Live Simply. For me, I'm willing to live in a tree house (as long as it has a good internet connection).
8) Work Smarter. You have but one life to give to all this cool stuff. You will die one day. Constantly reevaluate how you work and what tools you use to do it. Learn Dammit!
9) Quit. If your project has gone South or someone else has dwarfed it with a better project, then don't waste your life trying to prove you are right. Unless of course, you are right.
10) Enjoy Yourself. It's later than you think...
== Perl6 ==
I was in the thick of things when the Perl6 project was started. My initial reactions were not that it was too big to accomplish, but that that it was waaaay to big to finish in 5 years. It was a wild fuzzy ball spinning out of control. I decided to watch but not get overly excited.
Enormous projects are really hard to do. They require patience. (Something Perl programmers are short on by definition.) I was not convinced that
Perl6 could draw that much patience out of the rag tag Perl community. There was a good chance that this was just not going to work. But one thing gave me hope...
Larry seemed rather reasonable about this project. He had the right attitude. He knew it was cool, and it would happen. And I got the sense that he didn't mind how long it took.
At YAPC 2002, Larry gave a great talk comparing the community to the peoples of Tolkien's Middle Earth. Among us were wizards and hobbits and everything in between. And there was a Journey to be made.
I'm no expert on LotR, but I don't recall Frodo being funded. Nor Gandalf for that matter, if you get my drift.
I'm not opposed to the TPF. I'm not really opposed to anybody doing what they think will get things done.
But is it the one true way to get to the end of the Journey? I won't answer that, but I will say one last thing.
I am a fan(atic) of Autrijus. We have collaborated on a number of projects, given talks together and spent many hours conspiring. When we first started our leg of the Journey together, I tried to impart much of the 10 points to him. Now the roles are very much reversed. He really embodies those principles.
I once asked him, "How long do think you'll work on Perl related stuff?". He answered, guessing a bit... "About 500 years."