Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Fairly recently I started maintaining my own open source JavaScript library. I created it to solve a pretty specific need but fairly regularly see questions that can be solved (in whole/part) by using my library.

I post my answer and make sure to always include that I maintain the library.

I feel for open source projects this may not be such a big deal but where do you draw the line? (ex: commercial products) Is it ethical for a programmer to promote his/her own library? When is it not?

share|improve this question
5  
Full disclosure is the important thing. That's been roundly agreed upon by the community in related discussions on meta.stackoverflow.com. Whether you choose to promote an open source, for-profit, or even commercial library is irrelevant, as long as you properly and clearly disclose your affiliations. –  Cody Gray Feb 25 '11 at 8:10

7 Answers 7

up vote 26 down vote accepted

Why would it be unethical? You are not making financial gains, and it also lets readers know that:

  1. You have a specific bias towards this library, as you are the creator/maintainer.
  2. If they have questions about it, you're probably the best person to ask.

I suppose if you are really worried about it, you could always try to mention any similar library that might be used to solve the same problem, and quickly compare yours to theirs.

share|improve this answer
    
Is financial gain the main determination? Playing devil's advocate... what if the library was free but getting support was not? I'd directly benefit by promoting my library over another. –  Kit Menke Feb 24 '11 at 22:53
7  
As long as your financial interest was disclosed there is nothing unethical about it. It would only be unethical if you hid your motives for promoting the library. –  John Weldon Feb 24 '11 at 22:55

Sure.

If it solves the problem at hand, then it is mechanically relevant, there's no doubting that.

I'm sure people would appreciate some disclosure like "I am the author of this library". Not necessary per se but strongly, strongly encouraged and expected. The doubt of ethics isn't the inclusion of the library but the reveal of you authoring it. Which you should always do.

share|improve this answer
    
+1 because I think relevancy is a basic but necessary requirement. –  Kit Menke Feb 25 '11 at 3:40

The only time it would not be ethical is when you work for a company and "convince" (notice the quotes?) the management to buy your own product.

With everything free you lose a lot of liabilities.

Besides, eating your own dog food is regarded as a proof of value

share|improve this answer

Sure it is ethical... That's what the open source developers do in conferences, to promote they own products. After all, if you don't care of your own products, who will? The competition? Anyway the user is the one that is going to have the final say, and ultimately the choice is in their hands.

share|improve this answer

It depends....

When answering, do you only say to yourself, "my library could solve that problem" or do you say "my library is a great solution for that problem"?

The second is definitely OK. The first could be slightly unethical, even with your disclaimer, in the sense that you ought to be answering questions with the best answer possible. If not, you're selling, and Q&A shouldn't be used for selling (even if no money is at stake).

Keep in mind that a library won't be a great solution if much of it will go unused.

share|improve this answer
    
What if "could" is the best description, but there's no other better solutions out there pre-coded? –  Matthew Scharley Feb 24 '11 at 22:50
    
@Matthew - why, in this hypothetical situation, do we need pre-coded? If the library really is not a "great" solution, just describe the algorithm and suggest they build it themselves. Or, point to the source code of the library. –  NickC Feb 24 '11 at 23:06
    
Well, the main reason being your definition of good vs. great. Why is a library not a great solution if it addresses all the requirements but also provides a bunch of stuff that you don't necessarily need? If this was the case, none of us would use any of the frameworks about because no one uses everything from them all the time in every project. –  Matthew Scharley Feb 24 '11 at 23:12
    
@Matthew - I don't feel that's quite what I said. I just said "if much of it will go unused." Keep in mind we have no idea what the OP's library contains, other than it fits a "pretty specific need". If that means it's specialized and unlikely to help in many other ways, then yeah, I'd say it's a pretty poor suggestion. That's where I say pointing to source code or describing algorithms is a great idea. –  NickC Feb 24 '11 at 23:16

This has been discussed on Meta Stack Overflow.

On these sites, you should suggest your software if it's a good and appropriate solution. Suggesting it when it isn't is going to be seen as spam. You do need to disclose your relationship.

This applies regardless of whether the software is F/OSS or proprietary commercial, although people may be more forgiving of honest error for F/OSS.

share|improve this answer
    
Is this the link meta.stackexchange.com/questions/10174/…? Personally, I also feel the disclosure is necessary. –  Kit Menke Feb 24 '11 at 22:57

If you really believe that your library is a good solution for a specific case, I don't see anything wrong with promoting it. Since you developed it, you probably have a good understanding of the domain and of other solutions so that makes you more qualified to suggest a solutions than others who have no such experience.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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