Your opinion is sought – USB Disk Ejector – should be it open sourced?

As the observant among you may have noticed, I haven’t been releasing many updates to USB Disk Ejector recently. I am very busy at the moment and just haven’t had the time to work much on the app.

I’ve been thinking recently, of fully open sourcing the app and putting it on Sourceforge. However I’m not sure its worth the bother, its only worth doing if people would actively contribute to and work on the app.

Putting it on sourceforge would be a chore for me and I’d have to get used to using subversion or cvs – which would be pretty pointless if I remained the only developer. Additionally, releasing it under the GPL or MPL would be problematic since portions of the eject code are based on work by Uwe Sieber in this article. I would have to get clarification from him, I would have to get permission again from the authors of the app’s icons and I would have problems with the modified HddInfo.pas unit that I use. Its licencing is ambiguous since there are many different versions of it floating around the internet by different authors – none of which are the same as the version I modified.

Essentially what I’m saying is that Sourceforging it would be a huge pain. I would only go to the trouble if I could be sure that people would actively contribute to the program. I’m not hugely confident of this – the source to all my apps has been on my site for 5 years and in all that time only one person has ever contributed to the code. Nevertheless, if it would happen, then I’d do it.

Here’s what I want from you – please say in the comments if you think I should go ahead with this. Please remember that I dont care if you want it on Sourceforge because you’re an open source enthusiast or because you think it’ll mean more regular updates. Let me know if you personally would contribute to the program (remembering that its coded with Delphi).

Thanks, and sorry for the whiney tone of this post.

21 thoughts on “Your opinion is sought – USB Disk Ejector – should be it open sourced?”

  1. Open Sourcing it doesn’t mean stick it on SourceForge. My speech project is (close to) Open Source and isn’t there.

    I believe code should be GPL’d wherever possible. Check the licesne on the code you based on and see if it’s GPL compatible.

    If it isn’t, you could rewrite it, or modify it by the terms of it’s current license to give you the right to GPL it.

  2. Aye, but the point of doing it really would be to get people to contribute, the source is already on the site, albeit not under the GPL. If it was going on sourceforge I’d need to properly open source it. Thanks for your comments though Joe 🙂

  3. Dont bother ‘to go GPL’ my friend.
    As you’ve said yourself, it will be “a pain” & it’s not gona make you a Bill Gates overnight, and, you’re already “makin a name” for yourself…weather you know it or not 🙂

    A few words of UNsolicited advise to the wise, generally does suffice :]

    Keep up the good work!

    From a lil ol lady
    Ginna fr Manila (that’s in the Philippines)

    If you wana know more re WHY you’re better off were you’re at now just send me an email
    and, thanks mucho in advance for the free prog, i.e. USB Disk Ejector

  4. Open-sourcing goes further than just “getting contributions”.

    AFAICS you based USB Disk Ejector on code by Uwe Sieber. If you open your project other people will, someday, be able to read your code and either work on it or inspire from it, just as you did.

    Have in mind that code reading has no language-fronteers, in the sense that code written in Delphi can be used by C++ programers since more often than not its just the algorithm or the “trick” that matters.

    As a side note, great tool. Keep up the good work.

  5. Thanks for your comments jacobo. I dont think I made it clear in the original post but my code is already open and can be obtained from the downloads page. It just doesnt have a particular licence attached.

  6. Have you kept the source code on your site current? There is a (tiny) change that I would be interesting in trying to implement, but having never worked with Sourceforge (or delphi for that matter) I think it would be easier if I could just send you the change if/when I figure it out… but the newest source I could find was 1.1 and I know you released 1.2 beta recently.

    The change I wanted to do was simply to allow /removeletter * and /removename *, to automatically eject all disks that are connected when run.

    thanks for such a great program and good luck!

  7. It sounds like using the sourceforge system would be very time-consuming and, also, force you to change the way you work on applications.

    You write some fantastic small programs, and they are very much appreciated; however, with the sheer volume of software (good, bad, awful, and ephemeral) available on sourceforge, I know–if it was my code involved–I would not be willing to submit to sourceforge. And, not because I wouldn’t want to, but because it’s just such a hassle.

    You might consider just releasing the source code under the GPL (which I’m not really familiar with since they changed it) or under some sort of BSD license. That way, you could allow people to poke around, maybe even develop it further, and if they’re not d*ckheads about it, they would share their development with you, and then you all could decide whether you wanted the application code to go in that direction.

    To sum up, if open-sourcing your code to sourceforge is going to force you to change how you work, I’d say it’s not worth it unless you plan on becoming a full-time, active member of the sourceforge community.

  8. Well if you are posting the source code here somewhere, I would think that would suffice for now. I’ve only worked on one project that was open source (on GoggleCode) and it wasn’t too much of a pain. SVN is slightly confusing in the beginning but once you get the hang of it, it really works much better than CVS.

    My suggestion is if you think that you will have problems puttting this up on SourceForge, try some other system like GoogleCode, or CodePlex. Their requirements will probably differ.

    BTW – you mention that you can get the source code for this somewhere, but I don’t see a link to it. Can you provide a link to it? Also what version of Delphi are you working with? I just upgraded to D2009 and love it but I’m having lots of “issues” with the Project JEDI work.

  9. Wittaya:
    Yes you can, its completely free for personal and commercial use. If you find it useful, you may donate, but thats entirely optional.

    The Googlecode is a nice idea, I’ll look at that. As for the source, its at the bottom of the software page but at the moment the source isnt for the current beta version, its for the last stable version. I’ll try and shove the latest (messy) source up if I get chance today.
    I use Delphi 7, but I get a friend who uses Delphi 2006 at work to compile the release version for me. I’d love to try D2009 – I’ve read great things about it, its a shame that Codegear dont do a personal edition of Delphi anymore. The other editions are far too expensive for one person to buy.

    Everyone else who’s commented:
    Thank you for you comments, looking at the post now I dont think I articulated it that well. What I was trying to say was – “I’ll quite happily release control of the app if there’s any desire by people to contribute to it. And if thats the case then I’ll go through the steps necessary to facilitate that, such as putting it on Sourceforge.”
    It struck me recently that the rate of progress and work on all the proposed new features is incredibly slow. I just haven’t had the time. I felt guilty about all the people to whom I’ve said “Its on the todo list”, when at the current rate of progress the todo list will still be there in 2015.

  10. When you get the chance, I’m definately interested in your latest source code. I haven’t been able to get your beta .exe to work for me with a ShellEx from another program and passing it some switches. I’m also interested in trying to make it so that it can work with D2009 so that can be Unicode enabled. I’m making a USB application for use in Central Asia education that runs off a USB stick. I want my program to call yours for a quick way of releasing the stick. However, with everything in English only, that won’t cut it for my needs.

    I would be more than willing to help you get the code up to GoogleCode (or somewhere else) so that development could continue on this very worthwhile project.

    With the price of sticks dropping to next to nothing, your project stands to be used quite a bit as people move more of their applications off to sticks for portability.

  11. Personally I’d like open source, and freeware too. Often I released my utility and programs to public domain.
    I dream a world without copyrights, on everythings… but.. just a dream, ah?

    In your case, it’s only up to you what you feet to do with your source code.

    I only know that, if you release it, I’ll try to change it a little to adapt your utility to my taste (no icons and minimalist aspect).. only this.

    Anyway.. thank you for your USB Disk Ejector!!


  12. In my experience Open Source makes little difference to getting help but can really increase the admin requirements. The only time it makes it easier to get other programmers involved is when they will only do it for code that is formally open-sourced. And my personal experience of that is that the actual output still tends to be nil.

    Your source is actually free and open and you can attach any license you want to it if/when anyone ever asks.

  13. Its at the bottom of the software page. However its a (comparatively) old version.
    When I release the next beta version (hopefully within the next few weeks) I’ll upload and keep the current source on google code.

  14. Any chance you’d be willing to at least put up the 1.1.2 Source? I’d like to contribute code to look for a TrueCrypt volume mounted on the drive and properly dismount that before ejection.

Comments are closed.