Possible Duplicate:
How to promote an open-source project?

I've done quite a lot of work in my spare time on a project that was mostly for my own learning experience and I'm quite pleased with the results. I've used github as a source control management, so the code is already public in a sense. The code in question is a library that is quite specialized in it's application, and pretty well commented and understandable. It would probably be a good resource for students learning about the algorithms being used.

What I'm really looking for is the best way to see if there is any audience for what I've done. It's no big deal if there isn't but if there are I'd like people to know about my code, and find it if they are searching for something similar.

How to go about this task in the best way? I do have a blog and I intend to introduce the code there, but the audience is so far quite small - mostly co-workers and friends. I'm also unsure about going to specialized sites and advertise, especially as I'm not really part of a community around these types of libraries.

Any thoughts and ideas would be greatly appreciated! Thank you for reading.

Edit: I'm not sure if I should post a link to the project in question on github, or refrain. It's not my intention for this question to come off as advertising.

Also, it's amazing how I always find good links after I posted my question. http://producingoss.com/ seems like a good fit.

  • How could I have missed that? Thank you. – Dervall Feb 14 '12 at 10:50
  • There's nothing wrong with closing this question and adding requests and comments on the existing question. – S.Lott Feb 14 '12 at 10:51

I'd say you have to market your project:

  • Tweet about it
  • Blog about it
  • Do become part of the communities that use these libraries and ask their opinions, be active in these communities, give something to those communities (don't just take!)
  • Where you encounter people that have problems for which your project can provide a solution (forums, live encounters, tweets from people - search for certain hashtags, ...), provide them a link to your project
  • Put up a nice-looking site for your project, highlighting key features, documenting how to use it, providing examples, ... Github is ok to post code, but often a good looking site with good content can be more easily readable
  • I just worry about being pushy, especially since other people probably have solved this better than me, albeit in other languages and other means of running things. Do you think that the github wiki would suffice as a documentation/website? – Dervall Feb 14 '12 at 9:23
  • 1
    @Dervall: If that is the case then wouldn't you like to know about it? Worst case, you will learn some lessons in how to solve future problems. – pdr Feb 14 '12 at 10:00
  • Also be a guest on podcasts to talk about it – Zachary K Feb 14 '12 at 10:26
  • Oh dear, speaking on podcasts, I wouldn't even know where to start. – Dervall Feb 14 '12 at 10:30
  • Maybe start with the wiki, but make it clear what it is your library does, and how it should be used. Developers want to develop, and hate having to Google around on how to use a library (at least, in my experience). Hopefuly, you might even get other developers on board to submit code. Later on, you can make a full-fledged site. – Peter Feb 14 '12 at 11:16

One thing to remember is that when you are building a web page to write it for users of the product not developers. I was looking at some video editing software for linux last week and the web page for one project put the fact that it was written in Python above the fold but I had to dig for the features. As a user I don't care that you write it in Python, Haskell or C# I care that it will solve some problem that I have. Of course for a Open source package you should put that somewhere, but in a development page.

I would write out a marketing plan for your program. If nothing else this is a really useful exercise for later. It does not have to be anything fancy just a guide for what you want to do and should include such things as blogging and tweeting, making a screen cast or whatever. Also it will impress someone in the future that you can write a marketing plan for some software that you have developed.

  • Great advice, I was going to focus on the actual usage when doing the web page. To be honest, I actually started that way for once, designing the interface and the configuration style before actually implementing any functionality. I'd hope that actually would be a selling point of my library. The project doesn't really have a UI per se, since it's a class library, but the gist of it will be the same. – Dervall Feb 14 '12 at 10:38

As a first step, you must publish it in a easily downloadable place like GitHub or SourceForge. However, this is not all.

Second thing i would do is to publish it in forums where you may find similar minded people.

Best thing you need to become popular (or even being used) is NOT quite Advertise about it. Over time, when customers request comes, you must try to attend their feature demands. Remember, we all know Linus Torvald not because of the amount of marketing he did - but because he kept on evolving Linux (the hardway) during earlier days that majority people found it useful.

Best publicity of any product is when other people recommend and in Open source it is only possible when many people like to depend on your product and use it again.

  • Oh, it's already published in github. – Dervall Feb 14 '12 at 10:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.