I just noticed I'm blocked by /u/danfinlay on medium. Ha. I was never anything but cordial, helpful, and polite to him. He did strike me as the type of guy to get stressed out easily though. I do wonder what set him off to hit the block button. I pretty much only speak the truth to people, albeit more direct than some sheltered Americans might be comfortable with.
I left Ethereum development some time ago because of the road blocks that prevented adoption to useful services. It wasn't really my choice, but more of a consensus among expert investors I would speak to wanting to work with me. MetaMask has always been a nightmare to support, and that's not really Dan's fault. It's across the board in tech these sorts of stories now. Millennial developers are big fans of progress via breaking changes. They operate on their own and don't usually understand the concepts involved with project management when it comes to niche projects. They like to be king of their domains.
MetaMask and Web3.js have promise, but something as simple as making it work the same on Brave as it does Chrome still hasn't been accomplished. Neither has compatibility with iOS or mobile devices. It's a patchwork of versions that change from week to week. It's absolutely impossible to support if you have a service that is multi-platform. You have to roll your own, and at that point it makes sense just to start your own fork of Ethereum.
This point is proved by Tron. TronLink works a lot better for dapps in every way. In case you aren't aware, everything in Tron was just forked from Ethereum with the inefficient stuff stripped out, and the founder is surrounded by stories of questionable ethics. The value in Ethereum is really in the brand and people behind it. I believe there are far more trustworthy people involved in Ethereum who want to build something good, but many good people have already left. I can't help but wonder if this authoritarian push by Mr. Finlay is a last gasp and anger at those people leaving.
I am a huge proponent of closed source development, with open sourcing relevant parts, however the linchpin to Ethereum simply cannot be anything other than the most permissive license that just stops commercial entities from claiming it as their own.
Is there a way to profit from MetaMask? Not really. It is a loss leader. The best means is consulting for companies integrating or wanting a custom build, and that's pretty much what Consensys does already. I can't help but be confused by this attempt at a power grab, because certainly there is more ego than profit at stake here.
It pains me to say this, but Ethereum will likely be the Netscape Navigator/Real Player of contracting platforms (and Tron the Pixelon). Greed never wins in the end.
Dan Finlay, Metamask dev on Medium: (...) Since the first release of MetaMask, we’ve provided a browser extension to connect more than 4 million individuals to Ethereum with a permissive MIT license. However, in order to compete with products that exist upstream of our wallet in the web3 tech stack, such as web browsers, and to continue providing the most resilient and secure browser and wallet experience on Ethereum for the next wave of users, we need to evolve our approach and set parameters around how developers can distribute versions of MetaMask and be fairly compensated. (...) Going forward, MetaMask will be published under a new license. For all end users and most application developers and non-profits, this will not have any impact: MetaMask will continue to be free. (...)
You can fork the code as of yesterday, but you won't be able to fork any future versions once Consensys add new code that they won't license as free software. (A fork may also be permitted, but only if it's deemed "non-commercial" under the rather mysterious terms of their very weird home-made license.)
Where this may work out badly is if people keep using metamask and contributing to it for a while until the old version becomes uncompetitive, then do something user-hostile that makes people want to fork away for practical (not philosophical) reasons, but by then it's too late.
If that's the case then what's the point of trying to change the license in the first place?
In any case, it's irrelevant. The code is licensed in a certain way and that license prohibits Metamask from changing the license to remove certain clauses. They're claiming that they're doing that. They can't. So they aren't, as far as the law is concerned. Fork away.
For legal reasons, also licenses can be changed hence why they are doing it. Besides, who is gonna hold them accountable? The legal world is subjective and therefore court always open to interpretation and rulings.
Licenses can be changed if the license includes a "this license can be changed" clause, or if all the contributors who hold the copyright of the code agree to the license change. Neither of those things appear to be the case in this instance, which means that no, the license *cannot* be changed.
> Besides, who is gonna hold them accountable?
Wow, I guess the license doesn't really mean anything anyway, and anything goes, eh? I'm going to take their code and relicense it under the [WTFPL](https://en.wikipedia.org/wiki/WTFPL) license. Who's gonna hold me accountable?
If you want an actual answer, then anyone who contributed code under the original license that is included under the new license can sue Metamask for violating their copyright.
Alternately, elsewhere in this thread it was mentioned that Metamask got a grant from the Ethereum Foundation for developing this code provided it was released under a share-alike license. If Metamask now claims that they don't believe it's under a share-alike license, then they defrauded the Ethereum Foundation for that grant and the EF could sue them.
Or, someone could go ahead and use their code going forward under the original license, and then if Metamask tries to sue them they'll lose in court and quite likely be on the hook for legal fees.
This really doesn't look like a good path for Metamask, especially if as you claim all they have to do is block wallets they don't like from their servers. The software license is irrelevant to that.
The license restricts *forks* of MetaMask that have >10k monthly active users (i.e. wallets based upon MetaMask). Not dapps. Dapps are completely in the clear.
Also it only affects changes made from this point forward. So any previous forks that don't pull changes from upstream are also in the clear.
Well it's not only forks, it's all projects that have taken code from the previously free open source. I think Authereum is one of them upon closer inspection, I wouldn't be surprised if there are many others. Derivatives are common in the open source world, works can be considered derivatives even if they took a few lines of code from their repos.
Yes, that's true, that's a good point.
I had simplified it to "forks" because typically those are the only ones that would be regularly pulling in changes from upstream. Whereas if a project took some portion of the code and branched in a different direction from there, the upstream changes wouldn't be necessarily relevant or easy to apply. And since the MIT license remains in effect for all code prior to this license change, those projects are in the clear still. Even going forward, anyone can take anything they want from the old codebase under the terms of the MIT license.
Short term you are correct, end users won't be affected.
Long term you are incorrect, end users WILL be affected. This decision will have ripple effects on surrounding projects AND itself.
Some possible detriments to the project that will eventually affect the end-user:
1. No one outside ConsenSys wants to contribute anymore since they'll just say "oh, your copyright is our copyright, kthxbye" without any prior agreement as such. (fyi. when I contribute code, I still retain my copyright, I am just licensing my code for use according to the same license as everyone else writing code for the project)
2. Projects will shy away from using MetaMask, causing fragmentation and encouraging people to flock to a competitor / fork-of-previous-version. (ironically, I think people will flock to Brave thanks to this change aimed towards Brave, lol)
3. ConsenSys getting hit with lawsuits from the sloppiness of this change will hit their bank, meaning less money going to developing MetaMask.
4. The fragmentation will lower MetaMask mind-share in the wallet space, newbies will be recommended MM at a slower rate than before.
1. Someone might pay them for a license maybe, someday, if no competitor shows up or works for the potential licensee. Maybe they get a couple thousand dollars from the deal, pay a developer for a couple weeks. Good job.
Overall it was a bad move, expect MM end-user experience to deteriorate quickly if they don't about-face.
> Projects will shy away from using MetaMask, causing fragmentation and encouraging people to flock to a competitor / fork-of-previous-version. (ironically, I think people will flock to Brave thanks to this change aimed towards Brave, lol)
Yup, so I just tried Brave, previously I hadn't paid much attention to it (generally just kind of gave it the normal big-token-project eyeroll) and I'd only heard about it when they did something bad enough to get on r/buttcoin. It's pretty great and it's a perfect drop-in replacement for MetaMask (since it just copied all their code).
So I'm replacing the link to metamask that I used to have when you show up without web3 enabled on [reality.eth](https://reality.eth.link) with a link to Brave.
I hate Brave with a passion.
But MetaMask wants us to use Brave now I guess.
It's like that amateur chess player that THINKS they're 3-from-mate and make a bold move with a smug grin on their face, and as a pro you sit there for like 2 minutes processing the stupidity of their move... like... does he not SEE my 2-from-mate if he does that move? Is this some sort of 4D chess move that forces me into mate that I'm not seeing?
Nope... just a dumb move.
MetaMask: AHA, look at this move, *smirks*
Brave: Checkmate, gg. *hand shakes*
It’s not stated in the Medium post, but this is squarely aimed at Brave. They are the only crypto related project outside of exchanges with users anywhere near the 10K MAU threshold and have integrated MetaMask directly into the browser.
brave is a literal scam. they just bundle other people's software (chromium, metamask, adblock, webtorrent, etc) into a single browser and use it to raise hundreds of millions by selling unregistered securities to retail investors. they own most of the supply and just keep forever dumping on them, cause it's a useless token.
as soon as they run out of that supply, they'll just replace the useless token with another one, like [crypto.com](https://crypto.com) just did.
This is kind of ironic because I was looking at where to send people who land on my dapp with no web3 and I'm currently telling to download Metamask and the only viable alternative seems to be to send them to Brave...
I ditched Brave when it came out that they were changing people's URLs to their referral URL whenever they would begin typing Binance into the URL bar.
Fuck that shady shit.
**Edit:** No. Other browsers/sites/whatever do not do what Brave got caught doing.
Other browsers use referral codes, e.g. for every search engine search you do.
We clarified already here, but what you are talking about was a bug with our URL bar suggestions and not us rewriting nor redirecting URLs. It's fixed now.
Just to be clear, whenever you type your search query in Google, google makes money off you.
If you have a problem with this model then this is fine, but don't punish transparency because that just pushes companies to go the route of opaque model (like that of google).
For instance Brave could make a deal with Binance if a non-referred user comes to binance through Brave browser, and you wouldn't even know.
The referral code for Binance was done in collaboration with Binance, and they are (and were) aware. The referral code looks like a number which was problematic, if it was a parameter like r=brave, I bet no one would have even flagged anything or cared. The number looked high entropy, but it was the same for everyone.
Kind of like the URL parameter client=firefox when you do a search in Google in Firefox.
Because Brave was supposed to be different, instead of dabbling in bullshit practices like everyone else. I want to browser the web the way I intend to, without any carrying over information, not how Brave wants me to. Me clicking on a referral link is one thing, but you modifying my URL after the fact is bullshit.
> Me clicking on a referral link is one thing, but you modifying my URL after the fact is bullshit.
This website does it as well:
Click on the link at the top: https://medium.com/metamask/evolving-our-license-for-the-next-wave-of-metamask-users-81b0b494c09a
and watch it change into:
Various linux distros do it as well:
I can see the issue with opt in vs opt out, but fact is bills need to be paid and this doesn't seem like a bad way, certainly as opposed to Chrome that records everything you do, everywhere you go and reports it all back to google to profile you and sell that data off to advertisers, marketers, Russians, whoever is willing to pay for it etc.
And very predatory. You are right in terms of activity clicking on a link where you may not recognized it has ref link is different than actively changing ref codes.
Binance isn't the only site this happens. It happens on many other ones as well. Like Forge of Empires is another example
I have honestly been amazed for the past couple of years that the 2nd largest blockchain network and largest decentralized smart contract platform does not have a maintained reference client. This is, in my opinion, patently absurd (pun intended).
Yeah, sorry I didn't have time to earlier. Primarily there are two reasons:
1. What if there's a bug in the reference client? Now all clients have this bug and the entire system is at risk. Look at the recent medalla testnet where one client had a bug, but the network recovered.
2. If there's a reference client, it will very likely become the "default" and eat a huge share of the market. This suppresses competition, reduces ecosystem diversity and growth potential.
That's why they're aiming to have 3 separate clients at ETH2.0 phase 0 launch. Redundancy and competition improve security dramatically.
I am not sure if Metamask has thought this model through. If someone launches a new dapp tomorrow and does not want to pay Metamask then they will drop support and end-users will now get suboptimal usage with fewer dapps supporting Metamask.
Doing your dapps which interacts with metamask
Creating a wallet webpage like mew which uses metamask which interacts with the extension
Almost 99% of the use cases
What's not free:
Coping metamask code, create an apk and upload to the
playstore if it have more than 10k downloads
Creating a extension called metamask 2 with the metamask code
I'm sure authereum forked from MyCrypto I'm sure there are others that are derivatives of Metamask. I wouldn't just sweep this under the rug until we know for sure how many projects this license change has impacted it.
At some point it is sad, that metamask give such a huge adoption for Web3 than nothing else, and now they should seek after commercial users. While some shitcoins and scams are collected $100 millions.