There has been a lot of discussion in the community about changes to the Steem blockchain license. Posts and comments made by @sneak and @dan / @dantheman have left the community in a state of uncertainty as far as what is and isn't allowed.
There is a valid discussion to be had about making the code 'fully open sourced'. Whether you agree with that position or not is not real the purpose of this post though.
I will quickly express my personal views though, for those that are interested:
I support the position of @sneak and Steemit in preserving a single blockchain and currency that we are all a part of - for now. Eventually I would like to see it become a fully open source project, but I don't believe that now is the right time to do that. The likely result would be to fracture the community into multiple factions, each with its own chain and own currency. Every little disagreement over platform changes would turn into threats to create alternate coins. I do not believe that is what is best for the community and it's stakeholders at this point in time. Once the platform is successfully launched and mainstream, then will be the time to open source it. (Ok, enough of my personal views..)
Whether you want 'full open source' or not, I think we can all agree that to update the license to reflect what @sneak said in this post and this post - would at least be a big step in the right direction. Please help make this happen.
I went through and parsed the comments from @sneak, and based on what he said - came up with a change to the license wording that I believe is in the spirit of what he is saying is allowed:
I removed this text:
The software is not used with any forks of the Steem blockchain that are not recognized by Steemit, Inc in writing.
and replaced it with this:
The license allows anyone to fork the repository and make alternate releases and derived works. The witnesses are allowed to adopt those releases without permission from Steemit, Inc. The only restriction is that the code may only be used to run the official Steem blockchain, produced by the witnesses, who are voted in by the stakeholders. It may not be used to create or run forks of the blockchain that run in parallel with, or in replacement of the official Steem blockchain, unless officialy recognized and permitted by Steemit, Inc. in writing.
I submitted it as a pull request to the Steem blockchain GitHub repo:
My expectation was that it would not be accepted "as-is", because I am not a lawyer. @sneak agreed and asked that we move the discussion to Steemit.
As you may imagine, we've been somewhat busy bumblebees (did anyone notice we released 0.17.0 today, heh) and today's events have only added to that, so I ask kindly for patience in hammering out this license clarification.
We've made it this far with the current license that Dan chose back when he started the project, so I imagine we can continue to focus on engineering and audience growth for at least a little while longer before this is at the top of the stack.
Was finally 0.17.0 released today @sneak?
Thanks @sneak! Obviously appreciate all the hard work you and the team are doing :)
I agree that it is important to reiterate that this is the license we have all been operating with this whole time, and as you pointed out - the one that Dan himself put in the code when he started the project.
It is obviously getting all the attention right now though since Dan quit, and this is the main thing he is steering the community to talk about.
I think the fact that you and Steemit are making it clear that your intent is to clarify the language to express what you indicated is the 'spirit' of the law is great. Hopefully everyone can get on board and support that.
We've all lived with it all the way up until this point. Let's be patient as the community and Steemit's legal team work to get this right.
Appreciate your support on this!
Dan says very clearly in the following thread specifically why he chose to leave. I think many people are confusing the cause and effect of his departure and his sudden issue with the current licensing (which was chosen by him when Steem was first launched and published).
Appreciate that. Two of his last big actions though where the PR to change the license, and then his post from @dantheman (which he then deleted) - creating more 'mystery/drama' around it.
I'm not of the belief that him leaving had anything to do with the license thing (not ruling it out either). I'm just saying that by him leaving and doing the things he is doing on his way out, he is drawing a lot of attention to it.
It's a He says, and He says thing... Lots of people saying things but nothing is crystal clear yet. :(
Dan leaving represents a loss of human capital. The value of Steemit in terms of wealth is measured only in human capital. The price of Steem tokens does not give you the value of Steemit. When someone leaves the community then true value is lost while if the token price goes down speculative value is lost but only temporarily.
People have to realize that the source code and blockchain are worthless without the people and community.
Fair enough brother @sneak
Here is my idea:
I added a bit about the blockchain. I don't think its necessary to get too bogged down in technical details, this plain language above would show that Steemit Inc intends that the system should work as it does now. And that it has their blanket permission to do so.
That's a good start. I think that we still need some language that defines what chain it is run on. The intent is for it to be only on the 'current chain' which we all understand. The question is how to make that part clear in legal terms.
That's the hard part. Everyone thought we all had the same idea of how Nakamoto Consensus worked, but it turned out there were two competing theories. It is likely that we will find the same thing with Steem consensus.
This is part of why I lean towards simply allowing people to use the code, without conditions. For me if we find some huge ideological divide on how to proceed among the Steem community or conflicting interests, it is preferable to simply allow a split than to remain in a toxic marriage like we have seen with Bitcoin. In the end, the market will decide what it prefers.
It is not our call, and Steemit has indicated that they are not ready to go that far with the licensing. They are willing to work with us to allow anyone in the community to fork the existing chain - provided the fork gains the approval of the witnesses. This is a huge step forward, and I think we should at least be happy with that.
I understand why this restriction is there, but its a stupid restriction.
Why, you might ask. Because it can't be enforced. It would be like microsoft saying you can only run word if you install wingdings font. Or chrome saying you can only use their browser to look at certain websites.
Even if you were somehow willing and able to litigate such a violation of terms (and sneak mentioned in a recent reply that this is unlikely), im actually not sure you would win. There is at least some caselaw that speaks to modification being fair use. ANd being free software, the EULA isnt a very strong protection against that defense.
And even if you won, im not sure you could establish that there were actual damages.
In other words, this entire exercise is a pointless waste of time with questionable benefits, but one which leaves the platform with an oddball license (compared to the other top 20+ coins that all use standard open source licenses) that creates both perception and practical barriers to its adoption (the latter including that any company wanting to use the code and build on the blockchain will have to get legal review of the non-standard license before doing so, unlike with a well-known standard license, and also including that the additional clauses may render the license incompatible with others, preventing or complicating some forms of software integration).
I'm in favor the clarification, in principle, but only as a second-best solution, and it is a fairly distant second.
Zero benefits. If you have a strong community why would you fear a fork?
@smooth is on your side of the debate, in that he wants it fully open sourced.
Pretty sure @dana-edwards was agreeing with me, only taking it a bit farther: questionable benefits -> zero benefits.
Ah, ok. I misunderstood. I don't think that implementing the change being discussed in the post though is without benefit though. It is at least better than what we have currently. You can make the argument that you want it to go further, but I see no reason not to at least make the step being proposed.
I think you still misunderstood the exchange a bit, but it isn't worth continuing to belabor it I suspect. I agree that the proposed change (if effectively drafted) would be an improvement.
Agreed, I probably did. I can msg you when I start to work on the draft for the update and see if you have any input.
just as a side note to this, ive been looking into the license and its legal ramifications.
One of the things ive learned (software licensing isnt really my area of expertise, though I am an attorney) is that Steem's EULA is completely nugatory in the EU. Their highest court (the EU court of justice) struck down attempts to enforce copyuright/licensing schemes. Somewhat ironically, the case where they did so involved Steam (with an a).
So at the very least, the restrictions found in the license aren't binding at all to anyone with access to a European VPS.
The enforcability of it is definitely debatable. If the license is at least attempting to stop it though, then at the very least people going down that path would be making a conscious decision to violate the spirit of Steemit's license, and risk being taken to court.
i don't know. DOes it violate the 'spirit' of steems license? Dan made the thing, and he wants it out. It that our collective 'spirit' -- telling other people what theyre allowed to run on their own computer, and threatening to take them to court if they fail to comply?
They would be making a decision to voilate the letter of steems license -- which is a restriction in place solely to attempt to maintain a monopoly. A restriction that every other coin in the world survives without. but the spirit? i dont know
Dan is no longer working for Steemit, so his views on the spirit of the license are not relevant to what Steemit's position now is.
When you talk about the spirit of a document or law, you're talking about its intended meaning. Regardless of how he is now employed, he was the one who fashioned the license, and the software to which it applies. His opinion on the matter speaks to the spirit of the documents.
Thomas Jefferson and James Madison are dead. We still talk about what they envisioned when they penned the consitution and bill of rights. If such relevance can survive death, it can certainly survive unemployment.
If the current "spirit" of inc is making empty threats to sue people to maintain a monopoly, perhaps that spirit ought to be rethought.
As mentioned by @sneak above, the spirit of the license that Dan added when he created the product is not the same as what he wanted it changed to when he left. The spirit of the original license created by Dan is even more restrictive than what Steemit wants to enforce. That is why we are trying to make the changes based on how @sneak is saying it should be interpreted.
My confusion comes from the distinction between Steemit (the website), Steem (the core code which runs the blockchain), and the actual blockchain itself as decided on by the currently elected witnesses who are adding new blocks.
Steemit the website should be pretty clearly fully open source with no problems. I think that's the case, but someone please correct me if I'm wrong. The only concern there might be over protecting the brands controlled by "Steemit, Inc."
The Steemit blockchain is also pretty clearly "a thing." It can't just be changed. The only way to change it would be to git fork the Steem repo, then make hardfork changes within it to rewrite history (as was done when steemit got hacked).
So there's the rub. If git forks of the code which defines what the blockchain actually is are allowed then how are hardforks within that code controlled or not allowed? The witness decide on that. How can Steemit, Inc grant changes to the code which decides what the blockchain actually is without also (by definition) giving over control of the blockchain?
That's just my confusion with what is trying to be clarified here. I'm still on the fence about what the right choice is. I'm not a fan of Ethereum Classic and I think it's an example of dividing people's attention and resources. I could imagine many similar things happening here, so that leads me to think the license is in the best interest of the community for the short term. At the same time, I appreciate the very real and very serious systemic risk involved in putting so much trust in a group of humans to do the right thing when the entire point of cryptographic proofs, from a certain perspective, is to avoid having to trust anyone.
Where it stands right now (with no changes to the text) is that a member of the community cannot create a change that causes the current blockchain to fork, even if it has the support from a majority of the witnesses - unless it has written permission from Steemit, Inc.
What we want to change is allow any hardforks, so long as they are approved by a majority of the witnesses. (Even if Steemit, Inc. doesn't agree with the change - that doesn't matter if the change is adopted by the witnesses.)
What we don't want to allow is for someone to create STEEM2, STEEM_CLASSIC, or some other alternative fork along those lines that basically bypasses the current chain and its stakeholders to create a new chain/coin.
Speak for yourself. We the bloggers actually benefit from Steem2, Steem_Classic, if these technologies have significantly different features. And we are the source of all wealth on Steemit because the blockchain only have the wealth of human capital in the form of the people, the community. Why restrict the community in this way?
Evolution requires an ability to work. Even a government which would say no forks would be scary because it would leave no alternative for people who disagree.
Forks are allowed within the current chain under the proposed license change. The community has the ability to implement any changes they want, so long as they have support from the majority of witnesses, elected by the stakeholders.
following you've made the point nicely and it's time I get done with this thread :D
I personally do want to allow parallel forks. Competition drives innovation. But still my primary concern is the issue of witnesses being able to fork without written permission.
If it's just about changing the currency symbol or preventing a competing blockchain, I think that's covered in items 3 and 4. But thanks for clarifying. Seems to me, removing item 5 completely would accomplish what you want. It would also mean Steemit, Inc would be at the mercy of the witnesses. Steemit, Inc would have the legal power to create their own blockchain with new currency symbols, etc, etc but no one else.
That is basically the goal. The witnesses and the developers (official and unofficial) to push the platform forward based on consensus.
to actually lower the risk of not adopting new hardfork, Steemit would be incentivized to introduce a lot of small changes very often, rather than big ball of them once a quater.
That would cause that actually they will get feedback much quicker, and that is a secret to quick learning process and fast development.
There are social and engineering issues around why this (more frequent releases) doesn't work well.
Imagine you're an exchange. Do you want to be forced to reindex the blockchain and deal with burning time on sysadmin stuff every month for some coin that might not yield you a lot of volume yet?
More than 4-5 hardfork per year would really be pushing it. Also, we coordinate with the community to make sure that we are all headed in the right direction together, and these discussions about specifics don't happen overnight.
Seems slightly off topic, but still a good tip :)
Can't reply to @sneak,
I agree to the whole hardfork less, I think hardforks are always a tough decision so having even 4-5 is too much unless there are major flaws with everything, the transaction, the support, the witnesses, security, yeah 20 problems would require at least 4-5 forks to close.
BUT what @noisy has said is of benefit as a whole to a more engaged community, it works more towards the UI side(and the whole Steemit experience), but it could work for the forks too, imagine putting your hardfork ideas and actually debating them next time.
You have practically changed nothing out of everything you have announced, you proposed the changes and you are about to accept them, by yourselves, not only that but we are talking about licensing, so anybody that doesn't agree with you can just sod off, interesting, again as most laws it hurts the small fry's since the big ones won't care, if they want your code they will just get it, or they just copy it, reverse engineer it whatever. It's simple sure it will take somebody maybe 2-5-6 months to get to where you are so you are giving yourselves the advantage, but you are disregarding a least two-three positives, having a fully open source license puts you out there, on the field with everyone else, so you won't be a corporation, you will be in the rat race and maybe do as good as dash has, in terms of marketing and engagement( just guessing ), sure the tech here is better, but everything else is seriously lacking, no community engagement, no constant updates, no team to look up to, ok that last one is a minor one, you can pick up, but if somebody else quits, it's going to get serious, you just lost an advantage you had with a solid team and a healthy relationship, what else is there, the site gets changed slower than it takes for youtube to improve theirs, can't really connect to everyone, you don't have a nice search, categories are seriously lacking, I know it's beta but you practically have millions and thousands of users you are underutilising, imagine actually giving a paycheck to all the 100-200-300 designers and coders here for just 2-3 months, you will have practically the whole roadmap in the bag by that time, out of what, the inflation the coin has generated, fucking magic, please I hope you step your game up and dan was a problem for you guys or something, but please connect to the community, we need Public Relations, you have already created most of the infrastructure, let people use it and improve it. Sure maybe not now, but when steemit is the hub of link to comment please check :) I'm leaving the comment it's on steem price dropping but it's quite substantial and best reflects my current views.
I'm not a legal officer and the licensing concerns me only as far as how much it prohibits change, or how much it stifles innovation or when it stifles decentralization.
Comment is on steemit in general, the team and the current topic with the current issues surrounding the conversation. @ sneak again :) for the most part mr CTO maybe :D have you been promoted?
Kind of like GOLOS.IO is the Russian version of steemit (pretty cool for english speakers too) but they are not using the STEEM currency. They have their own currency called GOLOS, but if you visit their site it is basically steemit with mostly russian posts, has an #en tag section, and can tell the interface to be displayed in english, etc.
So that is an example of a Steemit, Inc. approved fork.
It might be worth to mention that @ned have supported Golos fork from the beginning, while lot of prominent community members were against it.
I suppose we have top thank him for that, he earned himself some praise for sure and the problems here weren't felt at least to me. Currently I think the best thing would be to develop the platform further and when communities are added, release it to the world after the beta is over, we can have different UI's different languages different coins but one steem :)
Sounds nice on paper, but I'm anxious to see if the team can make it happen, maybe there needs to at least 2-3 more steem fests by that time :D
and their name has to be cleared and spotless, if this is to reach @the.masses :D who were already here btw :D
So forks are impossible so what is the point? You've got another Facebook.
Under the spirit of what is being proposed, anyone in the community is allowed to create a fork for the current chain, and have a majority of witnesses pick it up without Steemit's approval. They are just not allowed to start up an entirely different chain to run in parallel.
I'm not a lawyer but I like this direction. I also agree with @sneak that patience is needed in order for due diligence.
Hmm, this is harder than I thought it would be. Unless we want to define what a witness is outside of the code.
A witness is a node that is voted on with participants stake.
"LEGAL" Is part of the problem. Steemit, Inc. is part of legal sure. But the blockchain and the very ideas of such I think are trying to lean towards "lawful" more so in "natural law", which is where I would prefer to see the blockchain and code of the bockchain reside. Steemit, Inc. is comprised of what exactly? What, if anything, is separate from Steemit, Inc. of STEEM (the blockchain)? Will look this over more in detail soon.
Steemit, Inc. is a privately held company. Steemit.com is a website owned and operated by them. The Steem blockchain is the instance of the blockchain that we all love and use :) Steemit, Inc. technically does not own the blockchain. There is wording in the blockchain code though that gives Steemit, Inc. control over what is/isn't allowed with the blockchain. That is what we are trying to update/fix. Hope that helps!
Thank you. This seems sticky. Problem is a "LEGAL" trained lawyer may not understand exactly. Hope we may find the best solution for the free blockchain.
SO they don't own it, they just have exclusive control over it. How, precisely, are you distinguishing that from ownership?
I am not a lawyer. I am not really looking to get into an argument over opinion over open source philosophy. Do you have any suggestions on how we can update the language to make it less restrictive, so that the community can safely implement alternative releases to be considered by the witnesses?
There is no way to make the language 'less restrictive' from a legal standpoint because the language isn't legally enforceable. If the purpose of the language is intimidating people into complying with @sneak 's or steemit incs ideas about how steem should be implemented with empty threats of a lawsuit, the question of how to narrow the scope of that threat is a PR question, not a question of law.
Theyre lucky i don't know how, or id be putting up an unauthorized witness right now just to prove the point. (if any devs want to help me out im game)
I dont really care about open source philosphy or anything like that. But what youre looking for is a way to codify self-contradictory nonsense. Theres no lawyer in the world who is going to be able to write you anything that makes sense that says you retain all the rights of ownership but aren't owners when you can't even differentiate one condition from the other. The statement is simply not internally consistent.
No. Im not in the habit of making empty threats, so ive got no real experience prsing them to find just the right level of intimidation.
Do you have any suggestions on how to update the wording so that it does not intimidate people from creating alternative releases for the witnesses in the current chain to consider adopting, yet still intimidating enough to discourage people from starting a new chain?
nice conversation you are having here :D it really makes nonsense a good thing :D
This is the wording can you please make it sound more interesting :D
Maybe, The software is used with any forks outside the steem blockchain, that are recognized by Steemit, Inc in writing.
That would open the sidechains, but will also leave the legalities in the hands of steeminc, sounds simple to me, or
The software is not used with any forks of the Steem blockchain that are not recognized by Steemit, Inc in writing. Unless there are more than 30-40 of the current top 50 witnesses that agree.
How about that steeminc :D how about you enact real democratic governance, it will be a bad idea sure :D just putting it out there :D
I don't think it's so bad at all. The motivations, overall, make sense.
Interesting developments. Thank you for sharing.
In other words you want economic centralization aka concentration of power?
If your community really is valuable why would you fear the risk of people leaving it? Competition is good if it brings value and bringing people brings value because people are the wealth of communities.
Dan leaving the community has a cost in terms of human capital. The license is irrelevant.
agree and with the added discontent and the speculations, dan would have been better of posting , I'm taking a break from steeminc I will be working on my own projects, this will be a side project for me the code is done, have fun. Couldn't secure the open source license, I will notify you when we are more capable of having it, .. damn I miss him :D never knew him, never seen him, but he made something that was with me almost every day for the past few months
I would word it like this:
The code herein may be freely copied, distributed and adapted but code not designated as official release by Steemit, Inc. may not participate in block production in the official Steem blockchain; and the token names and initial key used in the official Steem blockchain may not be used in any derived work, as these distinctive features represent the branding of Steemit, Inc.
That was more or less how I understood it to mean, but it is not as clear. More or less: you can't run an unapproved witness code on the chain, and you can't copy the chain without changing the initial key, the Steem token name and the Steem Dollar (etc) name.
Actually, what we want is that you can run 'unauthorized' code on the chain. What you can't do is run it on a separate unauthorized chain.
When I first read that licence, very early on, it seemed to me you can just remove the symbols, change the init key, and then you could run another chain based on this, but I don't know. It is certainly not a very rigorous licence.
But I think the code is still a bit of a mess, and for example for a while golos and steem nodes were trying to post blocks to each other's network. A clear network protocol specification is required before we can really open it up to other implementations.
I am very interested in this because of the possibilities of building other systems on, like enabling the distribution of the tables related to rpc plugins directly instead of having to process them (version changes and changes of enabled plugins makes a shared file unusable). messaging/email systems integration also.
This evening it seems like every public RPC node in the network is broken too, xeroc's jesta's, even the steemit one isn't giving me any joy. The rpc node requirements are onerous and breaking it down is the only way it could become less of an epic job to run it.
These are all problems that will not be very nice if they are left for more than 6 months I'd say.
Yeah, for steem to really get cranking it really needs to have a protocol spec first, so that compliance testing can be done. There is also of course security measures against rogue witnesses. Ultimately even there is no real way to prove code on a server is unauthorised without getting a shell on it.
Do you realize that you are now saying exactly-- exactly-- what I have been saying for months about the API?