How Steem Changes the Game for Open Source Software

in #crypto2 years ago

2bP4pJr4wVimqCWjYimXJe2cnCgnFbZGKCJhYYnnk78.png

Before I get into my article, I'd first like to say a few things.

I'm not a writer. I don't see myself as a writer, but I believe it's a good practice for me to work on my grammar skills.
If you see something grammatically wrong, please point it out to me.
I'm a little nervous putting my voice out there. By nature, I am an introvert until I become comfortable with myself and the person(s) I'm around. That whole process usually repeats when I see the person(s) next time, as well.
Now, onto the article.

It's All About The B̶e̶n̶j̶a̶m̶i̶n̶s̶ Steemjamins
Steem launched just a couple of months ago. For those of you who don't know, Steem is "A blockchain-based social media platform where anyone can earn rewards". The basics of how it works is this, content creators post new content: articles, images, videos, audio, etc. and content curators up-vote that content if they believe it's of quality. Both creators and curators get paid for their involvement. Creators are paid when their content gets up-voted by the community and curators get paid by curating good content. There are a few other ways to get paid as well, like mining for instance and there are algorithms in place to prevent gaming the system. Read all about it at https://steem.io. I suggest reading the whitepaper, if you find yourself really really interested.

A few days ago, I read an interesting article about "How Steemit Could Revolutionize The Music Industry". While I believe there are more points the author could add to his/her article, nonetheless, it was interesting. After I read the article, I immediately began to consider how many other industries could profit from Steem. The first thing I thought about, was the companies, and more so, the community of developers who create and maintain open source software (OSS).

Types Of Open Source Maintainers

o1AJ9mPK1FEjaCUEerUtYiA6Q9XHMbbeDtdCMxJXnH4UzZ3kq.gif

Typically you have a few different types of OSS maintainers.

The Big Dog Companies
Facebook
Google
Microsoft
Walmart
and many more...
The Foundations
The Mozilla Foundation
Python Software Foundation
Apache Foundation
FreeBSD Foundation
OpenSSL Foundation
and many more...
Small Teams of Developers*
Moment - @ichernev
Guzzle - @mtdowling
Hammer.js - @jtangelder
breadwallet - @voisine
and many more...
Just a real quick side note, breadwallet is one of my personal favorite open source projects. If you're into bitcoin, check it out. IMO, It's the best bitcoin wallet out there for iOS.

*Or, at least who appear to be small or single developer teams.

Time Is On Your Side
Yeah, NOT! One of the interesting things about software development is that rarely do developers have enough time. It's always something: pressure from upper management, sales promising invisible features, sales promising a sooner estimated delivery date, poor estimation of development time, poor time management, too many bugs to fix, too many issues to troubleshoot, etc. That's also not even mentioning that most developers do way more than write and maintain code.

Often times developers are considered "The IT Guy". Being "The IT Guy" means they change the batteries from your mouse when it's "broken", they add ink to printer when it's "broken", they add the shortcut of your web browser back onto the desktop when "the internet disappears", they remove trojans from your computer when you installed that "new dropbox" to get the "files" you never needed in the first place. I think one can see the theme here. :)

o1AJ9mPK1FEjaCUEerUtYiA6Q9NcHFSrsm9WCvHmpikaXQii1.gif

When developers maintain software in a small or single developer team, outside of their full time job, you can see where time becomes an issue. OSS foundations also have unique needs in managing the non-profit for their foundation. Eg: accounting, meetings, fundraising, etc. These items also take away time from developers, particularly when developers participate in the nitty gritty of the non-profit.

()

Why Open Source Has A Financial Need
Interesting Facts

3ejZQFLqXedKjMVta1rLWBmE6WQ9HryjWxqPnmyMUNaXuuGq9rGK76XiBfb71FrRC4kvdowohMdxEhHKLACbwrx3YiEWtfC7rKBZkJ6grwUAwMMwjyhNjT7roxHUR7JeJPSasWUo9VbiJW9Bj4o85WoaiuqBMJyxTUseZcffbr9dsd8cRL8FwA74cB6.jpg

Black Duck's 2016 - The Future of Open Source survey, shows that greater than 65% of companies leverage OSS. That is a 5% increase from the previous year. While some OSS was created and is predominately maintained by companies, not all OSS is fortunate to have companies funding it. Now don't get me wrong, I know lots of projects generate money in the form of donations, premium support, and yes, even financial support from companies. However, when these projects make more money, everyone who utilizes them potentially benefits too. When projects make more money, we will see more features, quicker bug fixes, and more secure software.

Don't Panic
As an example, let me take you back to April 7, 2014, the day the internet nearly bleed to death. Okay, not really, but it did bleed pretty badly and was a major wakeup call for anyone who uses OSS. On April 7, 2014 the world experienced what was dubbed, The Heartbleed Bug. Heartbleed was a bug in the OpenSSL library that allowed an attacker view communications from servers after OpenSSL had decrypted the communication. When the bug is exploited, it would allow attackers to view passwords, credit card numbers, crypto keys, etc. Sounds bad, right? It was. Fortunately, OpenSSL was able to release a patch the same day the bug was publicly reported and everyone was able to move on, though, it did take a bit of work to get everything sorted out.

After the Heartbleed bug, a few interesting facts popped up on the internet.

At the time, OpenSSL was believed that half a million of the internet's secure web servers, certified by trusted authorities, were believed to be vulnerable to the attack, including major websites like Google, Yahoo, Instagram & Netflix, to name a few. [1] [2]
OpenSSL received only ~$2000 in donations per year. [3]
The bug was simple to fix, once discovered. [4]
Heartbleed bug snuck into the code on December 31, 2011. It was there a whole TWO YEARS! [5]
The Electronic Frontier Foundation, Ars Technica, and Bruce Schneier all deemed the Heartbleed bug "catastrophic". [6]
Wow, now that is crazy! Perhaps with more funding, a project like this would have been able to have more developers to pay to maintain the project. Since Heartbleed, OpenSSL has considerably more funding. Unfortunately, we had to experience mass panic in the IT world before OpenSSL got the funding they needed. Take a look below at a few of the most critical bugs found in highly popular OSS within recent years.

Bug Name Infected Software / Project Date Publicly Reported
GnuTLS - Incorrect Cert Verification GnuTLS Mar 03, 2014
Heartbleed OpenSSL Apr 07, 2014
Shellshock Bash Sep 24, 2014
POODLE SSL Protocol 3.0* Oct 14, 2014
*SSL Protocol 3.0 is merely a protocol. It is not software in and of itself but the protocol is implemented in software for secure communications. All implementations of SSLv3 were infected.

But Wait, There's More
So, I know I've been mumbling on about critical security bugs. Let's not forget all the non-critical bugs that exist and should be fixed as well as the massive amount of feature requests out there. These types of issues deserve some love too.

I believe that the single developers, small developer teams, and foundations are the maintainers who can benefit the most from Steem. Most developers and foundations who maintain code, do so because they believe in the cause related to the problem their code solves. While, I'm not saying that developers at companies do not believe in their cause, I will say that companies have a lot to gain financially from producing OSS (this is a talk for another time). And that's not a knock to businesses either. I'm very grateful for the contributions of open source from big dog companies.

Implementing Open Source Software With Steem
Sounds great, but what does implementation look like?

Current Implementations Methods
Here are some ways you can join in and begin generating money as a developer.

By posting releases and/or release notes on Steem.
By posting merges to master/stable, depending on the project, on Steem.
By posting feature requests on Steem to gauge community interest.
By accepting donations on the Steem platform, which can then be exchanged for USD or BTC.
My personal favorite for implementing Steem, with its current features, is by posting release notes.

Pro-tip: Make sure you alert all of your followers that they can support you on Steem and that creating an account is free.

Potential Implementations In The Future
Some of these implementations would include the Steem Team integrating these features into the Steem platforms. Others could be developed on the current platform.

Github and Bitbucket Integration
Auto post new commits, new releases, pull requests, feature requests, etc.
Feature suggestions could be up-voted to earn money for developing said feature.
Rewards can be given by starring a repo.
Other developers/people can receive rewards too.
Receive rewards when you suggest a new feature that the community up-votes.
Receive rewards by submitting pull requests with new features and bug fixes.
Credit to @lukestokes for these next few ideas, he posted in the comments.

Github clone of Steem - @lukestokes
Rewards for well documented pull requests. - @lukestokes
I hope I have you thinking. What are your thoughts? Do you have any ideas on how developers can implement Steem now, or in the future, with their open source softwares? Did I miss something or get it wrong? Speak up in the comments.

One thing I know for sure, is that developers need to hope on board soon, if they want features prioritized for their needs. The Steem train is picking up speed quickly.

Steem is here, it's free, and you can generate money right now! What are you waiting for? SIGN UP NOW!