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.

My Company is developing a web application, similar to GMail or Remember the Milk. We are on the verge of releasing the source code under AGPL. We are just afraid somebody will take the code and set up as a competitor.

What can we do to prevent that?

We were thinking to keep the code that powers our API closed, as it is the most important asset of the Company. We don't like that very much, so we would like to find alternative routes.

share|improve this question
    
What about your company are you trying to save? –  JeffO May 2 '11 at 17:53
11  
Pardon the contrarian viewpoint, but why are you releasing the source code if you're concerned about competition? What's the strategic advantage for the company? Everyone seems to just assume that open source is always a Good Thing, and I just don't see it. What's the corporate motivation for this move? –  Steven A. Lowe May 2 '11 at 18:30
3  
We want to release the source code of the project because 1) we believe any source code increases its quality when it is Open Source because there are more eyes looking at it 2) we want to attract bright programmers that we can hire 3) we feel better if we think we are doing something that will benefit more people 4) we want our user to trust us even more 5) we don't want to have just users but fans 6) we hope some great developers will give great input for the improvement of the project 7) we feel we are cool if we do something other companies usually don't do :-) –  dan May 2 '11 at 19:46
2  
@dan: Wow. I'm a fan. Don't know the project, but love the attitude :) –  back2dos May 2 '11 at 20:10
1  
@dan, I suggest you see how MySQL did it. Basically the trick is to sell services utilizing the know-how you have. –  user1249 May 2 '11 at 20:47

4 Answers 4

up vote 14 down vote accepted

Keep moving. Keep innovating. By the time your competitors assimilate what you've done, you want to have something else to offer your customers. As long as they keep busy with your source code, they aren't all that likely to leap past you.

One of Rudyard Kipling's longer poems has something like this (typed from memory):

They copied what they could follow
  But they couldn't follow my mind
So I left them sweatin' and swearin'
  A year and a half behind.
share|improve this answer
    
I really like that poem. The problem is we are a small company. If a big company with a lot of people decide to set as a competitor, we are done: we can't be more innovative than them. –  dan May 2 '11 at 18:00
6  
If a big company decides to directly compete with you, then they won't need your code - they'll just re-implement all the features themselves. –  Mike Baranczak May 2 '11 at 18:05
    
@Mike: I think you are totally right! –  dan May 2 '11 at 18:07
1  
@dan: Mike's right, but if your code contains some highly-skilled work your competitors might lack (typically some special algorithms, mathematics, etc.) then consider staying "closed" to keep your competitive advantage. –  MaR May 2 '11 at 18:27
1  
@dan: You can be more innovative than a big company. You don't have more total brainpower, but much of the large company's brainpower is used for internal processing, and your decision-making power is much more involved in what's going on than theirs. Google's 20% time and the Lockheed Skunkworks were created to provide some small-company entrepeneur advantages in bigger companies. –  David Thornley May 2 '11 at 19:28

Before releasing your product, get the Trademark on the name. That would prevent the competition from using your name as leverage. Besides that, make sure that you move faster than the competition if you want to "win".

Either be prepared to compete or don't release your whole code base as OpenSource.

share|improve this answer
    
I have already registered the trademark. Very good point, Soronthar –  dan May 2 '11 at 21:35

Consider the model used by SQLite. Their product is open source, but I believe that some of their unit test framework, and their SQL integration-testing-engine are in-house only, and you have to buy or license them.

That means, anybody can rebuild their product and embed it anywhere, but not just anyone can rearchitect and rebuild it to suit their fancy. This gives a competitive advantage to the original author while making the most "important" piece open source.

Remember that some people will dislike any such move you make.

Secondly, as a do-not-imitate example; consider the model that was used (and I think not very well) by PyQT. If you put commercial restrictions on the open source "community edition", eventually the community will leave and build something else.

Other bad examples include oracle's recent unpopular behaviour with respect to Hudson and Open Office, two of its Sun/Java related acquisitions. These lead to forks, and a lot of lost goodwill for Oracle.

share|improve this answer

It's AGPL, so that should be enough. If someone clones your site and makes improvements, then you'll be able to copy those improvements. If they don't, then who cares - nobody will use them anyway.

You can also try to pick up some income from selling support to companies that use your software.

share|improve this answer
1  
You are mostly right, but "nobody will use them anyway"...unless they are cheaper. –  dan May 2 '11 at 18:09
2  
@dan, if they are cheaper even when knowing less about the code than you do, then your rates perhaps need adjusting. –  user1249 May 2 '11 at 20:47
    
@ThorbjørnRavnAndersen Perhaps they live in e.g. India, then they have virtually no living costs at all, in comparison –  KajMagnus Jun 21 '12 at 16:29

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.