Imagine you're a developer and you've just developed an awesome new JavaScript library and you decide to open-source it. Soon, a lot of people start seeing value on it and even start using it in their websites, apps, platforms or wherever they want. Look how this is awesome: you can share your work and help people build better software through reusability at the same time that you help them to avoid "reinventing the wheel".
This anarchic movement called open-source is revolutionizing all the technology industry. From linux to firefox, every day thousands of libraries, projects and platforms are created and backed by a huge community of developers, companies and all kinds of stakeholders.
This creates new opportunities for developers, who can live to code what they most like, without depend on salaries. But how can they make money from it?
To understand that, I'm going to explain, in a very simple way, the steps to publish an open-source library, using the steemjs-lib created by svk31 as an example.
Creating and publishing your library
Let's say you're JavaScript developer and you put all your efforts in developing a library to interact with Steem using JavaScript. Boom! Your new baby is born. Now, you want to spread to the world that you've created the most amazing thing and you want that everyone starts using it. So your next step will be publish it online. Without any doubts, the best place to publish it nowadays is on GitHub] (take a look at these stats from 2014 and imagine that they've been growing since then).
How does GitHub works?
In a nutshell, you will upload your code to their servers. Then, it will become public available in a page linked to your profile. Like this:
And people will be able to clone it in their computers to use it.
git clone https://github.com/svk31/steemjs-lib.git
Simple, no? But very powerful!
Monetizing it
Once it's public available, you need to make money. Now it's time to be creative: you can sell stickers or t-shirts, write a blog, do some standup comedy, whatever...
Jokes aside, there's a few common ways to earn cash with your project:
- You can be backed by a company, like MongoDB is;
- You can provide support, tutorials or courses to other people or companies;
- You can receive donations through third-party services like:
There are many successful cases, but at the same time, we can see a lot of problems in theses "business models":
- Companies won't back every project that appears.
- You may not want to have your name related to a company.
- Provide support, tutorials or other products can consume time that you could spend coding.
- Donations sucks. Even people who have enough money to donate and see value in a project, don't do it for many reasons (I would say that mostly it's because it requires some effort to send the money).
The new idea
I met Steem and Steemit yesterday and I thought "Holy shit, this can be used everywhere". So I imagined it:
put this awesome reward system in the open-source community and Boom! again. We can have more motivated developers producing awesome code, being curated by an awesome community. In other words: bring GitHub + Steemit together and let's blow this world up.
The cool part is that GitHub already has a "curation" system, which is the star button. You can star projects that you like and the most starred ones will be trending.
But I don't believe that a move like adding some reward system would be taken by the GitHub team. At least in the next few years. So, maybe the community could post their projects here and get rewarded for it, like @svk did with steemjs-lib (https://steemit.com/steem/@svk/ann-steemjs-steemjs-lib). Would this be cool? What do you think?
That is good idea! Github is now a big corp with proprietary technology so it would be extremely difficult to implement. What about GitLab (https://gitlab.com)? It has practically all funtionality of GitHub and is open source so anyone could implement it.
Great post and nice idea:)
I also thought about Steem + Github. Here is my post.
How to integrate Steem and Github and what will happen?
For anybody who is interested, check out 21.co. You can publish apps and make BTC whenever your app is used. Seems like it will be a great way to monetize your programs. On another note, we can apply blockchain technology to a huge amount of things and there are many innovative projects to follow. Github can even integrate a blockchain of its own. When you think about, there are so many ways we could integrate blockchains and crypto into things we already use everyday.
Great post! Whenever I start a new project, I post a link to my github on SteemIt :)
This is indeed a great idea that also came to my mind when I learned about Steem. Great code being rewarded for being downloaded or forked into other projects. The percentage of original code after a few forks can actually be traced back to the original developer and he can still get a slice of the pie.
It's a good way to reward the developers and rewards can be given to developers who responsible for solving bugs and implementing new features (Can be someone outside of core devs).
I would love to see this happening
Please check out my idea, I upvoted yours and wish you luck! https://steemit.com/proposals/@kingjohal/steemstarter-campaign-steem-android-wallet-nfc-tap-and-pay-integration
This is really a good idea. When I met Steem my first thought is why don't do it with codes. Steem is to replace Facebook and this idea will kill github. Now many people write codes and open source their projects. But it's hard to get direct return from the hard work.
Codes are more important than articles. The coders will dominate the world. Just see the blockchains!
Again this is a GREAT idea!
Please see my thoughts here.
How to integrate Steem and Github and what will happen?