I have a project that a small social network site (which is here). I am actively developing this project and I am planning it to be open source. But I am confused about licensing it. In the future, if this project will be bigger, I am planning to make a company out of the project and place advertisements within the interface, so that I can make money off of it. and probably add ads to this network.

I've researched a few licenses; however, I'm confused about how they work. The Apache license states that you can use the software for commercial purposes. How will another company lay claims to the project? Will that company ever get claims to the project?

I'm fairly confused as to how this works - could somebody guide me here?

3 Answers
3

When you run a social network, your main asset is not the software, but the community that uses your social network.

You have to identify your competitive advantage. If your competitive advantage is not the software, then making it open source can make sense.

Example: Reddit is a kind of social website, it is for-profit (recently valued at $500 million USD), and the source code powering it is open source. Nothing prevents people from taking the software and attempting to compete with Reddit, but it is bound to fail because Reddit's main asset is their community.

Why not? Most sites (even rigorously controlled ones) run on open source software. I'd be surprised if StackExchange wasn't overwhelmingly open source behind the scenes.

Part of the Open Source Definition states clearly that no use can be forbidden, in particular commercial use is allowed. Note that some of the Creative Commons licenses are not open source licenses. But they are not recommended for programs anyway.

When you want to create an open source web application and want people who use it for their own website to contribute their improvements back to you, then you might want to take a look at the Affero-GPL. Most other share-alike licenses only demand open-sourcing of changes when the software itself is conveyed, but not when users use the software over a network, like it is the case with a typical web application.

It's not clear what you mean with "another company laying claims to the project". If you mean that they take your project, develop it under the same name and thus take away your control: You can protect yourself from that by trademarking the project name (like Mozilla does with Firefox, for example). This will allow people to take your software, but not your name. But they can still fork your software under a different name. If you don't want this, then you don't want to open source your project.

Regarding advertisement: Open source allows commercial use and any kind of modification. So other websites running your software can remove your advertisement or replace them with their own. So you can not expect to receive any ad revenue from other users of your software.

With any kind of social network, your number one asset is not your software. It's your userbase. People don't join a social network because it has the superior software, they join it because of the people who are already there and the content they post.