Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP 106: Rename "contract" to "snork" in documentation and everywhere else. #66

Closed
billmarino2 opened this issue Feb 9, 2016 · 21 comments

Comments

@billmarino2
Copy link

The term "contract" is arguably a poor fit for the core building block of Ethereum (i.e., the account type / object on the blockchain). Because it's the name of that building block, we've wound up using it to refer to our simple applications, games, and other things that a far, far apart from contracts at law and possibly even the smart contracts, at least as Nick Szabo defined them. "Have you checked out my tic tac toe contract?"

I propose we re-name it a "snork." Like the things in the cartoon from the 80’s. It's fun. It's got nostalgic appeal. And, best of all, it's completely use case-agnostic and has no confusing legal connotations.

@romanman
Copy link

romanman commented Feb 9, 2016

If already opening that, I am for
Super Script - as any script that
is de-centralized

@billmarino2
Copy link
Author

BTW, I wrote a long-form piece about this issue for the ConsenSys blog. Spells out my argument a bit more. Will drop in link here when it goes live (tomorrow I think).

@janx
Copy link
Member

janx commented Feb 10, 2016

Language evolves, "contract" will get its new definition, just like "code".

And the word "snork" is far from "nostalgic appeal" to non-english people.

@frozeman frozeman added the EIP label Feb 10, 2016
@jgrushack
Copy link

I think starting to call it something different will help tremendously with Education and adoption. Once you start talking contracts people start thinking big corporations and legal issues regardless if they are 'smart' or not.

Snork is better than smart contracts and I don't have a better suggestion

@hughlang
Copy link

I thought this dialogue was a joke, but I am now afraid it is not. My vote is against snork or any cute terminology that nobody else will get.

Refer to Deloitte's presentation at Devcon1 "Language is important and perception is important. Words like 'trustless' perceived differently outside of tech". We shouldn't harm Ethereum with language that has no inherent value besides uniqueness.

It also serves no good to break from the heritage of Nick Szabo's original idea of smart contracts. Smart contract is now an industry term and tech-savvy lawyers are already buying into it as part of their future.

@billmarino2
Copy link
Author

Here is my longer thought piece on the topic for ConsenSys: bit.ly/1o3AEC1

@rfikki
Copy link

rfikki commented Feb 10, 2016

I am also opposed to this on a pure value and need basis. If you must change it call it something like "blockcode" or "blockapp" or "ethglue" or "gluecode" anything but "snork".

@romanman
Copy link

Yeah "snork" is a lame name nobody will get. (no offence)
What do you think about: Super Script ?

Roman

On Wed, Feb 10, 2016 at 3:50 PM, Rocky Fikki notifications@github.com
wrote:

I am also opposed to this on a pure value and need basis. If you must
change it call it something like "blockcode" or "blockapp" or "ethglue" or
"gluecode" anything but "snork".


Reply to this email directly or view it on GitHub
#66 (comment).

@bobsummerwill
Copy link

I have never heard of "Snorks". Perhaps the series never made it to the UK? I personally think it would be a very poor change of name. Very gimmicky.

"Smart contract" is coming into common parlance and making up a new term for Ethereum will just confuse people. Maybe it isn't ideal, but it's not confusing either.

This is like the "Gas" to "Mana" EIP - #29.

Please let's not screw with the names. It is just Bikeshedding.

@hughlang
Copy link

The best names are simple and obvious. Yes, there often is a need to "brand" things to make them unique, but that should never be used as the name of the underlying object.

That said, there is immense value from a developer and google search perspective to use proprietary and branded prefixes to help users find content through searches. The best example of this is Objective-C class names. The short prefixes for common things like NSArray, UITextField, etc... have always made google searches more successful.

This is not true for Android programmers searching for developer content relating to code. So perhaps it would be useful to use ETH as the standard prefix for any class name. Like ETHContract, etc.

If "contract" is too rigid and loaded with lawyerisms, I think "Agent" is a useful term for one aspect of smart contracts. Not a replacement for smart contract, but rather a more specific element.

@alexvandesande
Copy link

I had to check if this was april 1st. Are you being serious? Are you talking about the underwater surf thing or is this an acronym?
dylan

@mwilcoxnz
Copy link

The only thing that would ever be considered as an alternative is agent. But contract is more than sufficient and it nicely positions it away from generic terms that only mean something to those in the know. contract is also great as is suggests that they are an agreement, and ideally should be short and human-readable.

@obscuren
Copy link
Contributor

The term contract is actually quite fine, because, like a legal contract it's forced through some medium. In our case it's our VM and state machine with consensus rules.

"Have you checked out my tic tac toe contract?"

That doesn't make a lot of sense. It's like saying "Have you checked out my tic tac toe binary?", no instead you'd say "Have you checked out my tic tac toe app(lication)?". Replace app with dapp (like many of us already do) and you'd be speaking in "correct" terms. A contract is part of the Dapp, like the HTML page, javascript and other assets are part of the DApp.

@jeffscottward
Copy link

I second the term DApp.
I also seconds Jeff's points.
Smart contracts are just 1 part of a DApp.
You may also have storage using IPFS data blobs, and oracles that are pushing data into the blockchain.
When I make a web app, I don't say to customer, this is a series of javascripts. I say it's a web app.

I build DApps on the Ethernet, as in one point to many, not the Internet, which is one to one, or Intranet, as in no outside points.

"I build DApps on the Ethernet" is now my automatic response to people asking what I build as a programmer.

@ethernomad
Copy link

I think "spell" is a much better term! ;-)

@obscuren
Copy link
Contributor

I'm closing this down. At this point I'm not even sure if you were being serious to begin with.

@billmarino2
Copy link
Author

"No one knows what it means, but it's provocative. ... It gets the people going." -- Chazz Michael Michaels. @obscuren Apologies for my clumsy and painfully dorky sense of humor. The goal here was to provoke discussion about an issue that, yes, I think we should all give thought to as the platform grows. Do I really think "snork" is a good name? No. Do I think "contract" is a suboptimal name? Very possibly. As a lawyer and CS guy, teaching folks from both those realms about Ethereum, I do witness the current, liberal use of "contract" confusing both communities. Worse, I see it preventing some from seeing the full power of Ethereum. I.e., they think it's just a new way to create clones of legal contracts, nothing more. That may sound dumb, but they hear "contract, contract, contract" and that's where their mind goes. Conversely, when I stick to "application" or "program" when describing what's on the blockchain (which is what I frequently do these days), it doesn't seem to...limit their imagination quite the same way. (Wish I had expressed it this way in the blog post.)

@billmarino2
Copy link
Author

@romanman Actually, yes, "script" is also a term that I think is more eye-opening for newbies. I use that a lot, too.

@niran
Copy link

niran commented Feb 15, 2016

My favorite replacement for “contract” is “rule set.” Rule sets have functions that implement rules, and only those functions can modify the data that is used to enforce a rule set. Transactions that don’t follow the rules don’t get included in the historical record.

I agree with the aversion to "snork," but this is a real problem that we should address as soon as possible. Today's concepts are hard to convey, and if we allow the language around them to solidify, it will make the hard task of getting people on board even harder.

Ethereum contracts are not contracts. Let's stop confusing people.

@gypsyhouse
Copy link

Had to comment… what a great conversation… “dapps” could be our “google”, “yahoo”, “tweet”- a new term that is uniquely decentralized. Decentralization is a concept inaccessible to most. To address decentralization head on- to the uninitiated- by calling contracts “dapp” or "dapps", or something similar, is to force an understanding of decentralization. An understanding of decentralization by the average person is where we are evolving toward. What’s happening here- ultimately- is for people to consider and understand "a decentralized way of thinking", and adopt a decentralized way of being. The term "dapp/dapps" helps to move people toward this. In one/two years the mainstream media could proliferate "dapp/dapps/etc" to the masses. This word or phrase could help take the movement to the next level.

@bobsummerwill
Copy link

Nice reference, @billmarino2 :-)

flames

But bear in mind, @gypsyhouse, that smart contracts are just one element of a Dapp. A smart contract is not the same as a Dapp.

A Dapp may be comprised of one or more client applications. Those may be native applications, or WebView hybrid apps, or full web apps. They may be installed via conventional app stores, or downloaded, or delivered via IPFS. They may run standalone, or they may be hosted within Mist, or Syng, or MetaMask, or some other way. Many dapps may actually have centralized elements, like conventional servers and databases, in addition to their decentralized elements.

So in short, dapps and smart contracts aren't synonyms. I think that "dapp" will, for sure, be the term which the masses use and understand. Or maybe they don't even give a toss about that distinction. They just get some new apps on their phones, which are cool. They don't care about the innards.

Nobody cared about the technology behind Uber. They just enjoyed the user experience, convenience and utility.

Just about any name you care to mention has been probably already been overloaded up the wazzoo already anyway.

RaphaelHardFork pushed a commit to RaphaelHardFork/EIPs that referenced this issue Jan 30, 2024
Co-authored-by: Gavin John <gavinnjohn@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests