Slashdot Mirror


Making Your Code OSS-Appealing?

goldcd writes "A while back I wrote some pretty reasonable forum code, a PHPBB alternative. A few years down the line it's pretty stable, I've stopped tinkering with it, and it's standing up by itself. I have neither the time, inclination, nor inspiration to do anything more with it, but would very much like to give the code to the world to use and expand upon. Now I could just upload it as it is onto SourceForge, but currently it's very specific in its usage and I'd be ashamed of what 'proper' coders would think of my amateur offering — I'm afraid it would be laughed at and ignored. On the other hand, I don't want to waste hours of my own time perfecting it for people just to 'rip off' as is, and never contribute anything. My question is, what do you have to do to make your code 'OSS appealing?'"

12 of 180 comments (clear)

  1. Make it a needed product. by webmaster404 · · Score: 5, Interesting

    If its a needed product, and it has decent enough code, it will be accepted. For example, Linux is loaded with: Text Editors, IDEs, Media Players, Browsers based on the Gecko engine, simple rip-offs of games. Its the niche products that will survive, although there might not be 100 developers on it, it will be used by those that need it. The worst that will happen is its ignored, generally if theres a need for a program no one is going to flame you for bad code, they will either live with it, help you with it or privately fix it themselves. The reason most OSS projects don't succeed is because they end up falling into the "monopolies" (Not abusive monopolies that of the MS world but 1 de-facto standard) of the OSS world, for example, vi, emacs and somewhat nano are the only terminal based text editors that will be used by the majority of users, so whenever someone else comes up with one, its largely ignored, but things that put a "friendly" GUI on a common CLI program (Such as Synaptic for apt-get) it is usually appreciated, but bottom line, if it does something nothing else does, and does it better it will be accepted, if not then it will be largely ignored, you won't have people yelling at poorly documented code it will just be silently ignored.

    --
    There is no "disagree" moderation, and troll, flamebait and overrated are not valid substitutes
  2. Nobody would care, most likely. by Anonymous Coward · · Score: 5, Interesting

    I make video games and release them under the GPL. Hardly anybody cares. There are plenty of BB programs out there already. The world doesn't need another one. Same goes for my video games.

    I also make music and release it for free. Hardly anybody cares, because there's plenty of "free" music out there anyways.

    If you don't think that your code is really all that grand, just quietly release it and hope it somehow finds a place in someone's heart. The few comments you get about it are still nice to have.

  3. Re:Just let them come by Psiren · · Score: 5, Interesting

    I agree. I was somewhat worried when I put my first code out there, but once you take the plunge it's really not that bad. I remember a guy mailing me with a patch to replace a really dumb subroutine (this was a Perl script) with a one liner. He was very polite and helpful about it, considering how awful it must have looked to him. And he took the time to submit the patch, which makes all the difference.

    Just do it. It's highly unlikely anyone will laugh at you. Anyone that has spent time to read through your code is unlikely to be so juvenile as to mail you just to point out how bad it is.

    Of course, it may be ignored by all but a few people. Some of my stuff certainly has been. But those few people that have used it have mailed me to say how helpful it has been to them. Even if you just help one person, thats one person more than if you'd left it sitting on your hard drive. Getting that single thank you mail can really give you the warm fuzzies.

    It's also interesting to see where it might end up being used. I've had people that use my stuff at NASA, the Pentagon and even Disney. Have code, will travel! :)

  4. Release it then... by croftj · · Score: 3, Interesting

    As I see it, if you want to make it available, you have to risk the luaghter and all. Either that or don't write armature looking code in the first place.

    With that said, I would release as is and work on cleaning it up. If you don't want to make that effort, if it offers decent enough features someone will start the effort of cleaning it up. Otherwise, it will do like 1000s of other projects on Sourceforge and wither away, most likely deservedly.

    --
    -- Many men would appreciate a woman's mind more if they could fondle it
  5. Re:Just let them come by Savage-Rabbit · · Score: 4, Interesting

    I agree wholeheartedly. Most systems fail to gain popularity not based on their code quality, but on their documentation. The more documentation, the better..... That is so true and it is also amazing how many developers have trouble understanding that. I'll pick a second rate solution over a faster/less bloated/better written one every time if it has superior documentation. Nothing pisses me off more than people whose idea of documentation is setting up a Wiki and having the users write the docu for them. Wiki's are nice, I use them, but properly written developer and user guides are better. The only thing that will make me rethink this policy is stability and security issues. When I can't get the software running, or in case of a software library, get a simple demo app coded in a reasonable time with the documentation on the project website I'll write the application/library off unless I have no alternative but to use it. If there is anything in the software developing world that needs fixing it's introducing more developers to various documentation tools like Javadoc, Doxygen, Visio, ROBODoc, Omnigraffle, .... the list goes on. User documentation is even simpler, just fire up OOo Writer, Pages, VI/Emacs if you are a hardcore developer or even, dare I suggest it.... it MS Word.
    --
    Only to idiots, are orders laws.
    -- Henning von Tresckow
  6. Just release it by Eravnrekaree · · Score: 3, Interesting

    Just release the code, and let people decide whether or not to use it or clean it up. Do not be embarrassed about the amatuer code. You can provide it in an as-is condition with a disclaimer that you will not be doing any more work on this code and if people want to improve it, they are free to do so themselves. I would say releasing the code in an imperfect state is better than not releasing it at all. It can't hurt anything, if you provide the proper warnings about its state.

  7. Re:Just let them come by Antique+Geekmeister · · Score: 3, Interesting

    Or better yet, find a more popular PHPBB tool and send the authors a note saying "I did these useful things, do you want them?", and encourage them to merge in the features or make the customization easily available. This works very well for Webmin.

  8. A PHPBB alternative? by wytcld · · Score: 4, Interesting

    Here's the question: Did you know what you were doing in terms of security. PHPBB not only has had a terrible security track record, but when you find significant security flaws (I have) they don't even want to hear about them. This isn't to say they haven't fixed their worst security lapses - they've had little choice once the fire gets hot. But they are far, far from proactive about heading off new ones.

    So if you have something secure, that's a decent subset of PHPBB's functionality, not too ugly (PHPBB isn't much in the beauty contest category anyhow), and with an efficient-enough way for moderators to deal with comment spam and Russian spammer registrations (in the PHPBB instance I still run, I've rolled my own extensions to handle this since what's built in is just too damn inefficient) ... if you've got that stuff sussed, there are plenty of people who'd take what you've started with and extend it. PHPBB is a main reason the PHP people have asked other groups to stop putting "PHP" in the names of their projects; gives the whole language a bad rep.

    --
    "with their freedom lost all virtue lose" - Milton
  9. Re:Just let them come by Ash+Vince · · Score: 2, Interesting

    I was just trying to say that anyone that mails you to tell you your code is shit without offering any helpful advice is at best a juvenile arsehole and should just be ignored. No, they should not be ignored. Instead try telling them how completely unhelpful they are being are ask them to be more constructive in future. If everyone tells them this they might eventually listen and grow up.

    It seems to be working on me :)
    --
    I dont read /. to RTFA, I read /. to offend people in ignorance.
  10. Never wait by Square+Snow+Man · · Score: 2, Interesting

    Release early, release often if you want other people to get involved, if you just write everything yourself and release it afterwards i don't think many people would really care unless it is a really interesting project. The website you are going to host your source code doesnt really matter (that is atleast what i think, i can't think of any good reasons why one site would attract more developers then the other), so you might aswell put it on sourceforge or freshmeat. After using some search engines i found this site which might be of interest for you aswell. In short, try to get people involved early.

  11. Announce It by Evets · · Score: 2, Interesting

    I follow plenty of other people here when I say just release it. I personally have quite a bit of half-written software that had potential at one point but has gone by the wayside because I never released it. It's easy to get caught up in self doubt or waiting until you can clean up the code and add a few comments.

    Just F'ing do it, and announce it to a related community. If it's a phpBB alternative, announce it to their community. Don't spam, but just posting something like - I like phpBB, but I saw a few drawbacks so I decided to get my own thing going, if you are interested check it out. Don't get into arguments, and make it a point that you aren't spamming, just passing on the link and the code to those that might be interested.

    From there, just keep doing your own thing. If it gets to a point where you think it really has potential consider spending some money doing a little bit of advertising - nothing huge, but a few adsense ads or similar in webmaster forum admin communities.

    If you really want to get people to try your software and use it, be sure that it has an easy install and basic system requirements. WordPress' 3 minute, 1-click install was a marketing dream - especially considering how much of a hassle their competitors were to get installed when they first got started.

    Also - if you can, offer binaries or a preconfigured download for common installations. Or maybe just a few sample configuration files that take you beyond a no-frills install. The easier it is to try a piece of software, the more likely people will be to try it out.

  12. Contribute it with no worries. by PotatoHead · · Score: 3, Interesting

    I went through this a while back with a 3D STL file viewer. I originally wrote it in the classic, "Scratch an itch" fashion for my own use. It was also to explore OpenGL a bit. At the time, I had an SGI, some docs and some time. Enjoyed it a lot and learned a lot. It was a C project and C was something I really had no serious experience in.

    I'm totally not a professional developer, but I can say it ran good and did what it was supposed to. I could feed the thing ugly, huge files that had nothing to do with CAD, big files that did, etc... and it all just worked nicely. What more does one need? If it were written in total bad ass style, it would still do those things, so who cares?

    When I put the thing on SourceForge, I was nervous. Turned out to be a complete non-issue. (viewstl, BTW)

    Got a lot of downloads and people were totally cool. I got patches sent in for a coupla stupid bugs. No brainer to just add those and bump the project rev.

    One guy, teaching comp-sci, sent me an e-mail about the code. He used it for some class project. Some of it was actual viewing of files. The other use was to give his students an example of some code and pose a, "what would you do?" kind of thing.

    At first, this pissed me off huge. However, he did send me the class notes and my program annotated with great comments! I refer to that document to this day as it's essentially a really solid comp-sci course study, tuned for my specific needs!

    He and I bantered around about this. At the end of the day, it's better to post it as people can use it. They will use it and that's good. Some of the OSS stuff you may be running now is highly likely to be no better than what you contributed and do you care?

    I sure don't.

    That hunk of code improved some as I took some of the comments, learned some stuff, then revised the program. I learned enough to realize maybe some of them were more academic than I cared to deal with, so I ignored those. Nice to get to that spot in the first place! Took that time to rebuild it on Linux, having set a machine up, it was a perfect get my toes wet kind of activity.

    Later, it ended up as part of some product being commercially produced in Germany. They wrote me, wanting license terms that made sense for commercial distribution. The trade was their patches for some new functionality, so the project improved, and my name somewhere on the box, and a donation to the FSF. No worries there. They got their license, the project saw some more code.

    Guess what? Theirs really was not a whole lot better than mine!! Pretty funny actually.

    Bottom line, through all of that, nobody ever contacted me with any kind of "you fricking lamer..." kind of stuff. The code got used and those users would not have had the chance had I been worried about how much of a bad ass I might or might not be.

    So, just post it up. My experience is that most all people are pretty cool. You never know where it might lead to, and it's a great way to give back to the nice body of code you might be running right now. That is how it improves every day. Why not?

    Today, it's just there being used, from time to time. Once in a while I get an e-mail about it. No recent patches these days, and that's likely due to the thing doing what it is supposed to do. Most are some question, or answering my request for occasional feedback. I wanted to know what people did with it, out of pure curiosity.

    If it's useful, people will use it, period. I wouldn't post crap, knowingly anyway. But I would post up something that is useful, because it's gonna matter to somebody somewhere.