You are viewing a single comment's thread from:

RE: Steemit 2017 Roadmap

in #steemit8 years ago (edited)

All of our software will remain free (as in freedom) software.

The blockchain software does not allow the freedom for people to modify by creating forks without obtaining written permission from Steemit Inc. It is perhaps ambiguous whether or not this means that the community or an alternate successor developer can not implement hard or soft forks that witnesses may adopt (as opposed to entirely new chains).

If you going to claim that your software is free (freedom) and that you intend for your software to "remain" free (freedom), please restore this freedom to modify and use without restriction or permission. That is contrary to the core principles of free (freedom) software. Otherwise, as the developer of the software Steemit Inc. is perfectly within its rights to release the software as proprietary and usage-restricted but source-available software, but should ensure that this distinction is clear and not described misleadingly (for example in a highly-visible roadmap document)

Failing to adjust the license greatly disadvantages the blockchain relative to other true free open source blockchains in that it remains dependent on the unique central authority of a single named developer (at least to the extent that forks may be needed in the future, which is likely).

The relative advantanges and disadvantages of being able to create entirely new chains by forking the code base is more controversial, but even that restriction is inconsistent with the idea of free software encompassing the freedom to use and modify without written permission from a specific named party. At a minimum it is misleading to describe it as free (freedom) software without making clear that its use and modification is so restricted.

Sort:  

Good point. The Steem blockchain code license is not free/libre and the steemit.com code license is MIT and thus free/libre.

https://github.com/steemit/steem/blob/master/LICENSE.md
https://github.com/steemit/steemit.com/blob/master/doc/LICENSE.md

I completely understand why the blockchain license is not free and am generally in favor of it, but words should be chosen carefully so not to cause confusion.

Again without getting into the debate on whether being free open source software is a good or bad thing for the blockchain, the writer(s) of the roadmap (from which I quoted) saw a need to make the claim of free (freedom) software at least twice. Therefore it was seen as important and as such it is important that a claim seen as important not be a misleading one, which in this case, it is.

Agree that the steemit.com code is indeed legitimately free open source software.

I completely understand why the blockchain license is not free and am generally in favor of it, but words should be chosen carefully so not to cause confusion.

Agree. The way they said it is a bit misleading.
However the code should remain licensed, if anyone can just fork the code, then people will just create a coin with a fair distribution, and developers will move to other chains instead of trying to solve the problems in this chain. Also investors have bought in with this license in mind to protect their investment.

I don't necessarily disagree with your argument. I disagree with it being falsely advertised as free software.

However, at a minimum I do believe that provisions should be made for: a) the stakeholders to be able to "fire" Steemit Inc. and hire a different developer or developers (I'm not suggesting this is realistic or desired now, instead I am considering the future); and b) the stakeholders to be able to continue to develop and maintain the software at all (including any necessary hard or soft forks) should Steemit Inc. cease doing so for whatever reason.

Failing to recognize that free software allows this and the current non-free license does not, and failing to remedy this flaw means that the value of the blockchain is impaired. Investors discount future possibilities and the possibility that Steemit Inc. as an entity could be someday be corrupted, coopted, or otherwise fail to act in the interests of the stakeholders, or that the code could be thrown in a sort of legal limbo as abandonware are perhaps-small but looming storm clouds with respect to the value of the token, and notably clouds that don't threaten other competing free-software blockchains.

Interesting I didn't think about this. What you say is that the license prevents even steem to fork if steemit inc disagree ? If this is the case then the license should definetely be removed at some points when steem has gained enough momentum/adoption.

It is somewhat ambiguous how it would apply in that situation, but at a minimum when it comes to being left in legal limbo that is not a good thing.

I don't think a written permission is needed to fork, but it should meet declared conditions.

Copyright (c) 2016 Steemit, Inc., and contributors.

The following license applies to code contained within this repository that is created by Steemit, Inc. Other copy right holders have licensed dependencis such as Graphene, FC, and Boost under their own individual licenses.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
The currency symbols, 'STEEM' and 'SBD' are not changed and no new currency symbols are added.
The STEEMIT_INIT_PUBLIC_KEY_STR is not changed from STM8GC13uCZbP44HzMLV6zPZGwVQ8Nt4Kji8PapsPiNq1BK153XTX, and the software is not modified in any way that would bypass the need for the coresponding private to start a new blockchain.
The software is not used with any forks of the Steem blockchain that are not recognized by Steemit, Inc in writing.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

The software is not used with any forks of the Steem blockchain that are not recognized by Steemit, Inc in writing

As I mentioned in my original comment it is somewhat debatable whether this applies to hard or soft forks that may be adopted by witnesses, but it became an issue in the past when some independent developers were unwilling to release an alternate version for witnesses voting because it could potentially violate the license. At a minimum some clarification is needed (ideally in the license text itself).

This reasonably clearly prohibits forking the software to "use" with an entirely different blockchain fork as is common for other free open source blockchain projects. Repeating what I said wrote above, the practical advantages or disadvantages of this are debatable and widely debated, but it still contradicts the generally accepted notion of free (freedom) software.

Right. Saying "free" can be misled since it means "free under following rules".

This is not unlike the AGPL. I don't personally agree that the restriction for use only on this Steem Blockchain causes it to be non-free software.

Everyone has freedom to modify as they see fit - except the genesis block. That is not an undue restriction, in our view.

Perhaps it will change in the future, but for now it is our opinion that the steem codebase qualifies fully as "free software" (not just "open source") in the traditional sense.

This is not unlike the AGPL.I don't personally agree that the restriction for use only on this Steem Blockchain causes it to be non-free software.

I don't agree. AGPL places no restriction on the freedom to make unrestricted modifications and especially to use modified versions (including those modifications you make yourself). This is the very essence of the freedom to which free software refers. AGPL requires that if the software is modified and used by others, the modifications (source code) be made available to those who use it. This is a completely and utterly different form of restriction from one on modifying and using yourself, or on certain forms of modification being made at all without permission from a unique named party.

Please refer to Four freedoms.

Steemit's license satisfies only two of the four freedoms.

Alternately you may refer to Debian's desert island test. A castaway on an island would not be permitted to make and use modifications as he sees fit (for example if the requirements of the island required forking the blockchain to better support coconut transactions or perhaps more realistically to allow the software to continue to be used at all given that a majority of stake, presumably external to the island, could not witness blocks produced on the island and therefore the chain would halt) because he would be unable to contact Steemit Inc. to obtain permission or have Steemit Inc. "recognize" his island fork.

There is no reasonable definition of free software by which software which requires permission from a unique designated party to make certain modifications or to use those modifications can be properly described as "free software". It is frankly a bastardization of the term and downright Orwellian to claim that requiring permission from the developer of the software is free software; that is exactly the sort of needing-permission that by its absence defines free software and directly motivated the concept.

Everyone has freedom to modify as they see fit - except the genesis block. That is not an undue restriction, in our view.

Notwithstanding that this restriction itself is contrary to free software by definition, if that is the intent then please clarify this. In the past a situation arose where a non-Steemit developer was unwilling to release a modification which implemented a fork to be voted by witnesses (which did not modify the genesis block).

The restriction on using the software "with forks" of the blockchain unless those forks are recognized in writing by Steemit Inc would seem to apply to hard forks or soft forks that are adopted by witnesses. If it does not this should be made clear in the license.