A user of The GUI Loft asked me what to think about when releasing an open source app. This is my response. And as I know there are a lots of more experienced people here: feel free to chip in!
I'll assume it's a Windows GUI desktop app. But most things below apply regardless.
* Make sure you package it nicely for non-nerds. On Windows PerlApp/perl2exe/PAR are useful. Inno Setup is a very good installer.
* Make sure you _test_ your program for distribution. Install it on a clean computer (_not_ on your own, it's polluted with development tools and installed modules). Try it out on a few friends before going public. Realize that the program may work differently on other computer setups.
* When you show it to friends, do some usability testing by just observing them trying it out without _any_ help from you. Stress that it's the program being evaluated, not them. Twice, they won't believe you anyway :)
* Make sure you describe it in a way that people can go from zero knowledge of what it does to the decision to try it out. Screen shots are essential. Make sure you describe how to get started once people download it.
* Make sure you have time to support the application and answer questions from users. Realize that it will live for years and that your commitment level will vary over time (don't I know that!).
Why? If you do a good job of documenting it and provide source, allow the community to grow its own experts.
Open Source authors don't owe anyone support. It may die if you don't support it, it may thrive if you don't. If you take all the support yourself, you might discourage others from learning it to any depth.
It just seems this goes against "release early and often". If the code is good and there's a need for it, you should release it a chance to serve the community, even if you don't have time for hand holding.
Don't get me wrong, I appreciate the continued support of OSS authors, but I appreciate the availability of the code even more. Let's not put a lot of preconditions before something gets out there.
Re:Minor quibble
jplindstrom on 2003-03-15T18:14:49
The points above are just my experience.
Realize that your life will change, your available time will change, your interests will change, and that will affect how you are able to support the application.
Case in point: I don't have as much free time now as I had when I wrote The GUI Loft. Nor do I chose to spend the same amount of time that I have on it.
So, then here comes Perl 5.8 and all of a sudden the PPM installation process breaks, partly because of the Perl version, partly because of the "ppm" utility (I later learned).
So I don't have the time to install Perl 5.8 and all required modules to try and fix this, all while people complain that ít doesn't work anymore. What to do? Feel bad about it? Ignore it?
I just think it's better to know that you may face a situation like that up front rather than be surprised that it occurs.
I don't know if anyone else can relate to that or if it's just me.Re:Minor quibble
jordan on 2003-03-15T19:30:38
Counterpoint: WWW:Automate.
The original author didn't have time to take patches or coordinate new releases. Thus, WWW:Mechanize was born.
If the original author had not put WWW:Automate out there because they foresaw that they'd have insufficient time to support it in the future, the community would have suffered.
But, I'm not sure what you are saying here. It sounded like you were discouraging people from releasing if they didn't have time to support and now you're just advising people to be aware of the guilt they may feel if they don't support it.
Personally, I wouldn't worry. If GUI Loft is worthwhile, someone will champion it and bring it up to 5.8 (or fix the PPM problems). As with you, this may be just me.
Re:Minor quibble
jplindstrom on 2003-03-15T20:59:16
Heh, I did just that yesterday:)
It's in no way abandoned, I just don't feel like spending copious amounts of time on it nowadays.