This is old content! The graveyard is a snapshot of content created from 2002-2005. For new stuff, visit Maniacal Rage.
 

More on Releasing the Source

posted on august 18, 2004, tag: site

After I mentioned possibly releasing this site's source code in my entry yesterday, I received a lot of great feedback. Several people sent me very long, well written emails discussing their thoughts on why I should release my code, how it would benefit them and the community, and how I might go about it. I have to say, it made me feel pretty nice. The feedback was good, and I thought I would clear up a few points about the whole deal.

Erik Price asked a good question: Why do I want to release the source? Is it because I want to make some money, or because I want to share the work I've put into making this site? The answer is both. Yes, I'll admit it—I want to make money if it's possible. Let's face facts: For four years, I've put more work into this site than just about anything else I do. It's a huge part of my life and I would love to think that I could make a little bit of money from that work. If anything, have it pay for its own hosting. But I also want to share what I've done. There's a lot of pride that comes from being able to show the world your hard work and get feedback. I enjoy that part of this process, and that's a big part of wanting to release the code. Does wanting to make a little money off my work make me a bad person? I'm asking that honestly because sometimes I feel like I can't tell.

The souce would be just that—source code. It wouldn't be a fully-functioning, drop this in to run package. It probably wouldn't work at all for you unmodified. The goal isn't to give you a CMS. The goal is to give you all my source code so you can see how I do things, learn from it, expand upon it, et cetera. I'm not trying to create another Movable Type.

A few people mentioned that they hope I won't stop writing entries like my "How This Site Works" series (see parts one and two) if/when I release the source of this site. I just want to let you know that I won't—I enjoy writing those kinds of things. Besides, a majority of the people who read this site would probably rather read a plain-English article about something than dig through commented source code.

About the monetary fee: it will be small (if I do it). Something in the neighborhood of $2-$5 US. You'll have the option to give more if you wish, but there will be a minimum to download the code. Since there's really no good way to keep my potential losses down, I'm going to have to end up using the honor system. You'll donate via PayPal or eSellerate and then you'll get a tarball. There will be a license you must agree to (I haven't worked this all out yet) that will state your limitations on the code, and one of them will be that you cannot redistribute it. Obviously, I won't be able to enforce this, but I'd like to think I can put trust in my readers. I'm thinking that maybe for a little bit more, you'll get updates too.

If or when this happens is still up in the air. I'm not quite finished yet with the rewrite, and even when I do finish there will still be a bit of work left to do commenting and setting up all the details, et cetera. Between that, xPad and filmmaking, it's probably not something that will happen within the next month. But it is on the horizon, and if I decide to do it, I'll surely let you know in advance. Thanks for all the feedback so far, and feel free to continue to post your thoughts and comments.

Comments

There are 10 comments, comments are closed

Courtney on 08/18/2004:

Speaking from a somewhat unique vantage point (having worked with you in the past), I wonder how full throttle you plan on delving into such a venture? Do you hope to release a system that works specifically for your site and allow those that pay the fee to use that code in their own systems? [Read: The source is intended as a building block only.] Or is the CMS configurable along the lines of Typepad or even something much simpler?

Personally, I don't think that $5 is asking too much nor does wanting compensation make you a bad person. You've spent a great deal of time on the site and really, the sheer entertainment value is worth at least a few bucks. Do you owe something to the community? That's arguable. Hell, you still owe me drinks. Don't forget who taught you about functions. [Jesus, the man could understand recursion but he didn't know what a function was.. how that's possible still boggles the mind.] [ramble]

Benjamin on 08/18/2004:

Personally, I don't think your should release the source at all. I'm a new reader (about a month or so), but releasing to the public a project you've worked on privately for four years just doesn't seem as worthwhile as keeping it to yourself, a la Orchard and Inman.

There is, and always will be the potential for this to end up all over the Internet, illegally or not. It could be the next WordPress, or Movable Type for that matter.

Of course, it's all up to you, as the author. We really have nothing to contribute except for opinions and support.

Garrett on 08/18/2004:

I forgot to include a paragraph about how the source would be released (package or just raw code), so I've included that in the entry. To answer it here—it would just be my source code. It wouldn't be a fully working package.

About the "understand recursion but he didn't know what a function was" part—it's true. It's sad, but true. It took me forever to get functions. Scary! (Please note, people who are reading this wondering why they would ever pay for source code from someone who "doesn't get functions" that we're talking about many years ago).

Courtney on 08/18/2004:

Right, this was back when PHP3 was still heavily in use and 4 was still an after-thought. Man, this makes me feel old. Has it really been 7 years since we got started here? Ack.

At any rate, as long as the source code is heavily documented it could be worth the monnaies. However, you'd be better served if you provided at least rudimentary intructions on setting up a functioning version. It couldn't possibly be that difficult, could it?

Lashlar on 08/18/2004:

I second what Courtney said regarding providing "rudimentary instructions on setting up a functioning version."

Just let us know when, and I, for one, will dig out my wallet and donate.

Kai on 08/18/2004:

Not wanting to sway your opinion one way or the other (whether you release or it not seems to be a personal decision), I would just love to see another post and/or tutorial regarding how you are using xml + xslt. I've hand-coded a number of small cms type applications largely from learning on forums and the odd book or two. But I have not for the life of me been able to find a good explanation of how xml+xslt can be used in a practical, real-working application. Heck, I'd pay $5 for a good explanation of that alone.

Jonathan on 08/20/2004:

I don't think you're asking for much at all. I struglle with something similar. When a friend asks for a website I instantly want to help him out, but then I would feel bad asking them to pay me. After all, they are my friends. I think you're feeling the same way. But now when I look at it, I have bills to pay just like everyone else so charging for my time is not unreasonable. If I don't charge them, someone else will.

You say that you don't want to re-invent a Movabletype but what you have IS an alternative. Sure, it sounds like you the user will have to do some modifying but you need to that with any CMS. I'm very impressed with the system you have created would gladly pay to download the source so I can tinker and build upon it.

Releasing your source code is like showing off your new digital camera. Sure people can see the photos you took with it, but it's so much more interesting to meet the photographer and see how he works and captures the images thet have been inspiring you for such a long time.

Jason on 08/23/2004:

screw the site, i want the source fro INTERNET X

Jason on 08/23/2004:

*for

Scott on 08/24/2004:

A few years back I jumped into the deep end of the web design pool without really knowing how to swim. I waded through endless amounts of source code trying to make sense of it all in trying to get ready to release a web site of my own.

What I found to be the norm was that project after project I would read technical documentation for hours on end - and while it would help me conceptualize how to get certain projects to work, it wouldn't be until I found a tutorial or some other open source code that I really gained the knowledge I needed to implement what I wanted.

Quite simply I tend to learn better from disassembling code rather then trying to assemble the same code from scratch. After a few years I have found that my most effective learning tool is the code of those who are generous enough to provide open source projects for general consumption.

This is not to say that I do not enjoy coding my own projects, or adding my own features - in fact that, to me, is the best part. Giving credit where credit is due is something I strongly believe in. But it's fun to watch small open source projects act as the building blocks of bigger more powerful applications.

You clearly have put a lot of time and effort into your site, as documented in the first two parts of your fantastic "How This Site Works" series. No-one can ever take that away from you and I congratulate you on what you have built here.

You have created the perfect base for people like me who are looking to build better web solutions. With that said I cannot begin to describe my excitement level when you mentioned that you may release your code for others to learn from - a generous offer that I would gladly compensate you for.

Ultimately, the decision is up to you. There are the valid concerns about people spreading the code around once they purchase it - it's sad but true. But then there are other people out there, such as myself, just trying to learn how to put together a better web site. Some people have mentioned Dunstan of 1976design as keeping his back-end secrets under lock and key, but recently even he has started to release some light on his brilliant back-end web solutions. Tutorials like his are lightyears more helpful then any technical documentation ever could be.

Count me in as one who would gladly send a donation your way if you were kind enough to release your source code to the web design community. Thank you for even considering it.


See Also

View the archive

Original iPod Introduction
How far we've come in just a few short years. Here's where it all started.

Front Row on Non-iMacs
Going to try this tonight!

WriAShorStorWe!
DY starts a one-week short story writing event for people to lazy to enty NaNoWriMo. VerCooIdea.

Lost Rhapsody
Funny Flash movie using Weird Al music and Lost stuff. Lyrics make a surprising amount of sense!

Jed's Other Poem
Unsolicited music video made on an Apple ][. Fantastic!

Printers Output Secret Barcode
The government is keeping tabs on what you print, with the help of major printer companies.

Dreamhost Promo Codes
DH already has very cheap, very good hosting—this just sweetens the deal.

Photos of the new iPod
Just received my new iPod and I put a few photos up.

PEZ MP3 Player
Funny idea that actually looks kind of neat. I like that it comes pre-loaded with "indie" music.

HD Easter Egg
"My Name is Earl" on NBC gives viewers with HD TVs a little easter egg. Cute, but weird.