On Friday I attended a talk at Simon Fraser University‘s Surrey campus by NYU’s Ken Perlin. I use derivations of Ken’s famous noise function almost every day, so it was nice to get a chance to see him discuss his work. The talk also got me thinking about the value of open source and I realized I haven’t been quite as good at releasing source from my own projects as I would have liked.
It’s Thanksgiving weekend in Canada – and while I’d love to send a turkey to Ken and all of the others whose excellent libraries, algorithms and methodologies I use every day, it’s just not practical (not to mention messy). Instead, I’ve decided to release source code for 7 of my projects over the next 7 days. The first release will come some time tomorrow morning (offering a clue to which project might be dropped first).
When it comes to releasing source code, I’ve always been torn. I really believe in the philosophy of open source, but I’m intimidated by putting my code out there for everyone to see. Underneath it all, I’m probably scared of being exposed as some kind of a charlatan (“You call that programming?”). So, to pre-empt that possibility, I’ll start by saying this: I’m not a great programmer. My code is clean and fairly well-structured, but don’t expect to find any particularly advanced code wizardry or complicated mathematics. I do, however, think that the projects that I’ll be sharing over the week contain some good ideas, and a lot of helpful techniques. Hopefully you’ll find one or all of them useful.
With each release, I’ll be providing some basic documentation a brief thank-you list to the people whose code made the project possible. I’m not asking for anything in return, but I will ask that if some part any of the releases ends up being used for something new and interesting, to please let me know.