20

Suppose that I make a new, cool DApp that gets very popular. In order to cover development costs and make some profit, I charge users of the app a small quantity which is required to use to app - all dealt by the contract, automatically. But, since all code is open source, someone can - and will - just copy my app, remove the charge part and publish it again on the blockchain, for free.

How can developers profit from DApps if anyone can fork them and make it 100% free?

1
  • 1
    Yes, the answers so far have been unsatisfactory. It seems like all none here knows exactly how the future of DApps will really be. Although, we expect real answers on how can we profit from a DAPP. We want dapps in order to be able to run apps without the fear of being turned off/on by any 3rd party. That is why we build dapps, but if we are supposed to waste months in development and then have the same dapp forked, turned down anyway in one way or another then, Ethereum is pointless. There has to be something, but none here so far seems to know.
    – Emiliano
    Commented Jul 29, 2017 at 4:11

3 Answers 3

10

I understand where you're coming from, it's a popular situation, but fortunately you have several options.

Firstly: Protect your work

If your serious about it, then the very first step you should do is to copyright it. When people think of copyrighting they often think of some all-controlling mechanism that you buy to lock down your app so no one can touch it. This is in fact wrong.

A copyright says that your work is your work, officially, and that whatever rules you lay down, even if it's anybody can do anything or something really weird like you must write my name on derivative work 5 times in a row has to be upheld legally or said person will be in copyright violation.

Copyrights are also fairly cheap (I think like $35) and last a lifetime, literally, so copyright up. By doing this, you can set certain limits (Adhering to open source philosophy, keeping your app wonderfully open source, but also have placeholders in place that don't disrupt the open source-ness of your app but allow you to make some kind of money). If people blissfully ignore your app, and recreate it as you said how you don't want it to be used, they are in copyright violation and you have right to take action if you want to so you have legal backing.

Secondly: Think about how you want to make money

Alright so you may or may not have gotten the copyright but now how do you want to make money without ruining the open source-ness and overall enjoyment from it.

Here are many popular methods people use, you can pick any or all you like, maybe they'll also help you come up with some of your own.

  • Take donations?
    • It's a huge 2-minute freebie to just place a Bitcoin, Ethereum, or other coin address as well as maybe a PayPal address address in your README file or other page, not anywhere nagging or annoying, just somewhere off to the side but easily findable and accessible. If your app is good enough, trust me, people will look for somewhere to pay you for your efforts. I've seen this many times where people repeatedly asked the developer for a donation address because he/she didn't charge anything or provide one and was nagged enough one was finally noted somewhere.
  • Derivatives cannot be commercialized?
    • This is a popular one used by many big companies although there are others ones noted below that you may find better. With this option, you allow any derivative work (which is very open-source compliant) and encourage derivative work (good for business for you if you require attribution) but disallow all derivative work to be sold for profit. The last part is a bit of a hiccup on the open source community because it means you are the sole person who can profit from it but I note it because many companies do use this
  • Derivatives can be commercialized only via license
    • It's the same as above but very popular with big companies who want to open source their projects. Instead of you being the sole person ever who can make money on your project, it allows the purchase of a license setup however you want in order for said derivative to make profit. Again some companies who are serious about open source are moving away from this as there are arguably better ways to do this but it's another popular option I list here for completion sake. It also allows companies or organizations to take in your project/app or game possibly under a different set of rules that might interest them more and gain extra payout from them while you still keep control over it
  • Derivatives can be freely commercialized with shared profit percent
    • This is based on the idea that "Your success is my success" and what some companies are moving towards. The famous Unreal Engine has also very successfully chosen this path. Essentially it's the same as above but allows you to denote a percent of profits that the derivative projects must share with you. Usually, if you choose this option, it's recommended to pick a starting amount. For example the unreal project requires this only if your project is making I think $1,000 a month or something like that giving the project at least a fighting chance to startup and become successful first.
  • Derivatives must follow one or more from above unless it's different enough

There are many other setups you can think about like derivatives of derivatives, or if the derivative looks different enough it should be regarded as its own project and not tied to yours (This protects you from blatant copies as you mentioned in your post where all that happens is it's free). Just brainstorm away on other ideas.

But a copyright will give you legal backing to tackle those who ignore any set of rules you make or misuse your project in some way and give you more control down the road in many various cases. It's no problem if you don't copyright it, but then your mostly own your own if people decide to just ignore whatever license or rules you have set in place.

If I'm wrong anywhere feel free to correct me and best of luck ^_^

5
  • Hey, thanks for your answer, but aren't you concerned that copyright are basically useless on Ethereum? Someone can completely anonymously copy/paste my work on the blockchain and there is absolutely no way to tell who did it.
    – MaiaVictor
    Commented Feb 4, 2016 at 13:01
  • With Ethereum, its more difficult to enforce the copyright, but it doesn't render it useless. When your work is being misused, it'll popup in places on the internet (forums, github, youtube, Google, etc), a copyright gives you power to talk to the person misusing your work and if that doesnt work to the people in charge who will listen when it comes to copyright claims, it gives your voice weight. It also tethers your work to you and protects you from false claims or accusations against you which can crop up the more popular your work becomes especially on such an anonymous network. Commented Feb 4, 2016 at 13:39
  • One of the major reasons people like Ethereum is that you can enforce contracts in a way that is completely independent from the legal system and any human party, governed by solely algorithms. I asked this hoping for an in-blockchain strategy, so your answer is unsatisfactory in that sense. I'll upvote it anyway because it is just my opinion, but feels like asking how to send huge videos through the internet and being told "well you can just mail a VHS" rather than "you can compress it".
    – MaiaVictor
    Commented Feb 4, 2016 at 13:53
  • (Regardless of that point, this was a very constructive answer by the way, so, thank you.)
    – MaiaVictor
    Commented Feb 4, 2016 at 13:54
  • Thanks and I know I'm walking a fine line by giving advice on the legal system in the open source world, especially ethereum. I'm a strong advocate on freedom and open philosophies but there are malicious people out there who can try to do your work and you harm, the answer I gave is the only one I myself have come up with that doesnt infringe too much on freedom but I'm always keeping a lookout for a better answer that is rid of any legal or copyright system so I completely understand where your coming from. Best of luck and glad I could be of help in some way. Commented Feb 4, 2016 at 14:04
0

Thq question i would raise is - how can i discourage copycats from taking my code and ideas in the first place?

While in theory in many cases the source code can indeed be simply copy/pasted, there are valid reasons why this is rather pointless in lots of cases.
Let's look into 2 DApps, which have been very successful lately:

  • CryptoKitties.
    Actually there are lots of clones floating around but nonetheless it was this application which managed to stand out when it comes to trading games.
    The main drivers to success: Network effects & meaningful data on-chain.
    A game containing collectibles is pretty useless if there's no community (network) and no fellow players to interact with. Also if there are no collectibles (data) in first place stored within the contract, what would be the point? Sure, you can copy the source code, but you can't copy it's state.
    Source can be found here.

  • Fomo3D.
    Well, if you haven't heard of it, it's basically gambling. So why do tons of people send Ether to this contract (having almost zero chance to win) although again there are many many clones available?
    The main drivers to success: Allocated funds within a smart contract and presentation.
    The idea of this game is basically "winner takes it all". Hence such a contract which has accumulated a high amount will attract more users. Again this is something you cannot simply "steal". And regarding the presentation - just check the website itself out (Metamask has to enabled for this). DApps which provide a user friendly and/or enticing interface have a much better chance to succeed, just like any other software product.
    Source can be found here. Note that i definitely do not endorse gambling applications. It's just an example for a successful product.

Also note that i'm oversimplifying things here. For example i did no thoroughly research to check if Fomo3D was really the most popular gambling DApp recently. But the takeaways should be clear anyway.

So once you have set up a promising project, i would expect that basically the same business models apply as for any kind of open source projects:

  • Integrate your specific smart contracts deeply with off-chain solutions which don't necessarily need to be open source (although they probably should)
  • Generate profits by displaying ads, consulting, customer support, building extensions, customizing your product for customers etc.

Besides all that, we're still at the infancy stage of this market. What you read are just educated guesses of mine. Time will tell which business models are the most promising.

0

As we all know that there are various option of monetization for centralized app like transaction fees , ads revenue , referrals , subscriptions etc. But in case of open source dapps , you might try programmatically inserting a fee for transaction in the network that would automatically go to the app developer's account, but that would rely on trusting users to not to fork the app and take out your commission - not ideal. Neither is embedding advertising , subscription services or any other centralized business models.

Nowadays open source dapp developers come up with a token or we can say an app coin related to their dapp.so if the users want to use the network then they need to buy this app coin or token. In this way, owners of the dapps are paid in app coins or tokens. In Bitcoin network , miners are paid with transaction fees directly from the users so that they can use the network and it's service. And now if the no. of users increases then the value of coins or tokens also increases. This model can be applied to any dapp and is being used currently.

Here , a question comes …. Do users need to pay to use any dapp ?

I'll say Yes and No. Although the blockchains are play-to-play, there are different ways to structure incentives within the dapps. Users could receive a sign-up bonus of coins or even have the option to willingly sell their data or local storage space in exchange for coins. Besides using appcoins, dapp creators could monetize virtual assets like real estate in a decentralized MMORPG, domains in a special namespace or even reputation.

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