[1]: https://fast.github.io/blog/stop-forwarding-errors-start-des...
300 karma · joined March 24, 2023
[1]: https://fast.github.io/blog/stop-forwarding-errors-start-des...
They could use MPL. It's an alternative "weak copyleft" license that's not concerned with dynamic linking
The added value is that it can iterate autonomously and finish tasks that it can't one-shot in its first code edit. Which is basically all tasks that I assign to Copilot.
The added value is that I get to review fully-baked PRs that meet some bar of quality. Just like I don't review human PRs if they don't pass CI.
Fully agree on IDEs, though. I absolutely still need an IDE to iterate on PRs, review them, and tweak them manually. I find VSCode+Copilot to be very good for this workflow. I'm not into vibe coding.
Sure. But for now, this is a competitive space. The competitors offer models at a decent quality*speed/price ratio and prevent Anthopic from going too far downhill.
Actually, as I think about it... I don't enjoy any other model as much as Opus 4.5 and 4.6. For me, this is no longer a competitive space. Anthropic are in full right to charge premium prices for their premium product.
If anything, `?` is better for actual "handling". It's explicit and can be questioned in a code review, while checked exceptions auto-propagate quietly, you don't see where it happens and where a local `catch` would be more appropriate. See the "Can you guess" section of the post. It discusses this.
Only when you don't need the Ok value from the Result (in other words, only when you have Result<(), E>). You can't get any other Ok(T) out of thin air in the Err case. You must handle (exclude) the Err case in order to unwrap the T and proceed with it.
> It also litters your code with branches, so not ideal for either I-cache or performance.
That's simply an implementation/ABI issue. See https://github.com/iex-rs/iex/
Language semantics-wise, Result and `?` are superior to automatically propagated exceptions.
Everyone (except Go devs) knows that those are the worst. Exceptions are better, but still less reliable than Result.
https://home.expurple.me/posts/rust-solves-the-issues-with-e...
Or use HVM and submit the .hvm file (which is just a text file with the Hugo version that you use)
Sync between devices is a compelling reason to have some backend. But I prefer it the way Super Productivity does it: integrating a bunch of third-party storage services like Dropbox. Usually, you already use one anyway
Redis was relicensed as "source available", and then that license change led to a fork. But the most prominent fork isn't proprietary. It's a permissive one, called Valkey: https://news.ycombinator.com/item?id=44653130. That's actually a good example of an in-demand permissive project changing maintainers and staying relevant under a permissive license.
An interesting thing to see in the future is whether Redis ("source available" + AGPL) or Valkey (permissive) "wins" in the long term.
Too lazy to google the details regarding the other projects.
This thread has eventually changed my own stance on permissive licenses. Now I think that LGPL/MPL have the best survival characteristics: https://news.ycombinator.com/item?id=44657017
> Can you list a few of the examples you had in mind?
As I think about it, I see that I wrote "plenty of examples" mechanically (pulled it out of my ass). Sorry :)
That entire argument of mine is stupid because it hinges on the ability to see alternative universes:
> if the original project had been permissively licensed, this wouldn't have happened
I could pull any unpopular GPL project as an "example" (that would be more popular with a permissive license because "trust me, bro"). But that's a bad argument.
Web engines are a huge practical example in favor of MPL/LGPL. They suggest that MPL/LGPL may indeed have the best survival characteristics.
Companies love proprietary browsers. If there were a good-enough permissive web engine, a proprietary fork would happen and "win", even if as "a set of patches" on top of a permissive base maintained by the community for free. Luckily, the creators of FOSS web engines seem to have understood that and chose MPL/LGPL. This goes against the article.
Companies love proprietary browsers. They will never contribute to a GPL web engine. That's why we don't have any good GPL web engines. This supports the article.
Companies love proprietary browsers. Microsoft was one of the first movers on the web. They had the chance to create a competitive proprietary web engine from scratch. It was popular for a few decades. But eventually Microsoft gave up and adopted Chromium instead. Presumably, to reduce maintenance costs. It doesn't seem like their proprietary engine gave them any competitive advantages that would be worth the cost. This supports the article.
So, the article is correct regarding GPL and proprietary, even (indirectly) predicting the continued absence of GPL web engines and the death of proprietary web engines. In 2015, when the article was written, IE was still bigger than Firefox and Safari on the desktop: https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
But the article completely misses the huge success of MPL and LGPL. You are 100% correct.
I guess, the atricle still stands where you need to maintain the code.
To quote my other comment:
> I wasn't there, but the narrative online seems to be that Linux won due to its strong momentum and the leading position that it established back in the 90s, while the BSDs were held back by the AT&T lawsuit. Due to this leading position and the network effect, using and contributing to Linux is simply much more cost-effective. Privately forking a BSD and making it "better" than Linux would give you a competitive advantage, sure. But it's a prohibitively expensive thing to do.
> In other words, it's a historical accident that there was no strong BSD alternative when Linux was picking up steam. Now it's too big to fail, and the GPL works in full force. GPL can't work in full force in the early stages of a project.
In other words, it's a historical accident that there was no strong BSD alternative when Linux was picking up steam. Now it's too big to fail, and the GPL works in full force. GPL can't work in full force in the early stages of a project.
Although, as I've noted in the other comment, that wouldn't happen if Chromium was permissively licensed. It happened because its partially LGPL/MPL, and thus you can't create a proprietary fork (but can still use it in a proprietary browser like the new MS Edge). It seems like somethimes LGPL/MPL have the best survival characteristics
According to Wikipedia, in 2015 IE was still bigger than Firefox and Safari (on desktops) [1]. I should've googled the stats before saying that the situation in 2015 was similar to today.
[1]: https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
But somewhat, I can't remember any counterexamples either. I mean, a proprietary fork killing the permissive original. I can only remember:
- AppGet vs WinGet. But that's one permissive program killing another.
- The proprietary build of VSCode. But it's basically "a set of patches" on top of a still-maintained permissive base. And its popularity is at least somewhat dependent on the existence of that permissive base.