Hacker Newsnew | past | comments | ask | show | jobs | submit | more coffeeblack's commentslogin

???


Interesting, how many negative comments this gets. People seem to love monoculture run by committees.

This is exactly what OSS is all about. Take a code base and develop it into different directions. Both code and organization. And "natural selection" will have some forks die and others strife.


I like languages that are a monoculture. It's a mess when you have many flavors of a language. Anyone else here remember the joy of various Fortran variants? It was a pain in the ass - VMS Fortran, Cray Fortran, HPF, etc... ("How do I call a subroutine with a Cray Pointer" - pointers were variant specific? Ugh). Pulling the variants together under a common standard made it reasonable to build projects from multiple groups without having to know how all of the different variants interacted. If you pay attention to the post-Fortran 95 language standards, a lot of work has gone into standardizing what used to fall under the chaotic world of vendor specific extensions and implementation choices.

I'm all for the diversity that emerges when you have different libraries and tools that take on the flavor of each group that builds them. But at least establish a common language in which to build that diverse ecosystem.

It's easy when a project is new to adopt one variant and be happy in your little variant bubble, but when that project turns out to live for a while and inevitably has to start working with other projects or tools that rely on one of the other variants - you've got a headache, and life gets hard (and you'll probably start wishing people had just standardized things in the first place!)


> It's a mess when you have many flavors of a language. Anyone else here remember the joy of various Fortran variants?

For those too young to remember Fortran: Markdown is just as bad. HN supports an extremely limited subset, Reddit another, Stackoverflow, Github and Gitlab each have their own flavors as well, and MediaWiki also has elements that IIRC came from Markdown. And that's just the biggest platforms and doesn't count the myriad of libraries and bindings with their unique subset/superset and edge cases.


>> "How do I call a subroutine with a Cray Pointer"

There’s a fresh new level of hell I hope I don’t get sent to for my sins when my time is up.


Pascal (eg Turbo Pascal) vs Super Pascal vs Object Pascal also springs to mind.


Stable project structure is a requirement to survive as an enterprise language, which everyone tries to make it into. It can live with the forks, but only as a toy language.


C++ survives having a GCC variant and a MSVC variant, not to mention whatever half-broken compiler you used to get for your microcontroller code.

I would argue the requirement is that each compiler is a stable project. But one language can have multiple compilers that aren't 100% compatible and implement slightly different subsets of the language (as long as there's a common subset libraries can choose to stick to)


C++ has an ISO standard, for better or worse. That's a different beast. Rust is defined by the implementation. Any hope for interoperability between potential adverserially competing forks is just wishful thinking.


>> Rust is defined by the implementation.

Hopefully not for long:

https://github.com/ferrocene/specification

https://ferrous-systems.com/blog/the-ferrocene-language-spec...

Hopefully Ferrocene can lead to Rust itself being standardized.

To me, it seems inevitable that there will be multiple implementations of Rust, especially if Rust continues to be more widely adopted and used in new domains.

I would also not be surprised if Rust were to adopt optional language extensions for specialized use cases, similar to Ada's language annexes:

http://www.ada-auth.org/standards/22rm/html/RM-1-1-2.html

Why? Because the Rust implementation you use for video game programming does not need all of the same features as the Rust implementation that you use for safety-critical embedded systems (for example: railroad control software).


I'm involved in the Ferrocene project (1), so I'd like to clarify some things about the Ferrocene Language Specification. It is deliberately called Ferrocene Language Specification and not Rust Language Specification. The specification serves first and foremost the needs of the Ferrocene project - we just need a spec to certify the compiler. It may be useful to others, that's why we open sourced it.

It is not a specification that standardizes rust or prescribes any behavior to the compiler. It's a specification that describes certain aspects of the behavior of the existing rust compiler. It's neither comprehensive nor is intended to be. It follows the changes in the compiler. If there's a mismatch between compiler behavior or the spec, the spec is considered faulty. It is also not sufficient to write a new compiler based on the spec.

As such, Ferrocene is not an effort to standardize rust. We consider the Ferrocene project a certified downstream of the rust project. Any push to standardize rust would need to come from the rust project itself. We have not intention to create any such standard.

That said, there is some interest in building a specification for the rust language in the project itself - here's the relevant RFC https://github.com/rust-lang/rfcs/pull/3355

(1) I am one of the managing directors of Ferrous


Thank you for your work on Ferrocene, clarifications, and the link to the Rust RFC.


Precisely. The naivety on display here about the realities of long term software development is absolutely astounding, especially for a project with such lofty goals. Keep your dirty laundry out of the public eye if you really care about Rust.


I agree with you on the “realities of long term software development”. But I think I believe there is a fundamental difference between the standard realities on a successful enterprise project and the language itself.

That is, the latter needs to balance the needs of a much, much wider array of customers (all rust compiler users) versus the former with a more specific target user base.

This introduces different requirements. Changes are far, far more likely to be permanent for example. Which means that the discussion around decisions needs to be different.


If you can't resolve that conflict of interest then you have absolutely no business being near the seats of power for a project such as Rust. Rust needs to be perceived as a safe bet, not as the next Ruby, if it is to achieve the goals that have been put forward by those that advocated for the language's adoption.


There is a vast chasm between enterprise and toy.

A thing does not need to be enterprise level to be useful or even very useful.


Perhaps, but it does need to be enterprise level (with all the things that come with it) if you want to be used by enterprises and high-grade projects like the Linux kernel. Many in the Rust community have explicitly stated that they want those type of entities to start using Rust, so being enterprise level is therefore a must-have.


Toy... well, similarly to that of most Rust rewrites of long-established stable projects.


Or that "toy OS" Linux.

Heard it all a thousand times already.


Some people still call Linux a toy OS? That is crazy though, it is evidently false. Oh welp.


I share the spirit.

OSS is all about forking.

My company works with a very very niche TypeScript fork as well. Everyone should be free to work and contribute in the way he prefers for whatever reasons.


Forking a language that aims to be the long term stable systems language for a very large part of the IT landscape isn't a good thing.


If people think this is useful then it's their time to spend on it; it's not our choice to make. If you don't like it then you can just ignore it. I really don't see the problem.


It's not our choice, but we can debate the choice. I think it's a bad choice, for many reasons, one of which is that having multiple competing forks that are all Rust but not quite isn't going to help Rust adoption and is going to cause fence sitters to look somewhere else. Whenever this kind of drama hits a language eco-system it is bad for the language, there is plenty of precedent.


I suppose so, but I don't think the effects will be all that large. And we can just as much blame the Rust Foundation people for putting out a trademark policy that's completely bonkers and more strict than almost any trademark policy (including those from Oracle, Microsoft, etc.) If you don't want people to take radical actions then don't do radical things.

Besides, a number of forks have had a positive effect on the original project: Emacs, GCC, GNU libc, Vim, probably more.


... LibreOffice, MariaDB, Openbox ... and if we consider forks of the community rather than raw code, we must also mention GNOME.


I don't think they really did much for their parent project though? They're just forks that are more successful than the parent, but that's a different thing. My point was mostly that forking doesn't need to be a zero-sum game and that everyone can benefit from it.


I believe the now-Oracle projects benefit significantly from code pushed to the forked versions.


> Emacs, GCC, GNU libc, Vim

GCC had a standard to live up to (and it extended that standard in plenty of ways), the others aren't languages per se and do not and never did have the mission to appeal to the people that write non-sexy system software for a living. They value stability and a lack of drama in the suppliers of their tools above all else because any kind of fragmentation has the potential to cause them to have to (much) more work and they usually already have plenty of that.


And if the community was confident in Rust's leadership, this wouldn't be happening.

Which, to me, makes it seem that "hey, don't fork the community" is kinda brutally missing the point at hand, or at least feels aimed in the wrong direction.


It’s not the language that aims to be that, it’s people. And different people have different aims.


I've followed enough of the Rust debate that I'm suspicious of those people that have lost sight of that particular goal.


Doesn't look like the leadership is interested in stability so, maybe it's a good time to consider alternatives?


Why not?

Competition if anything breeds more innovation.

I wish someone came up, e.g., with an Elm fork.


Because the working programmers are busy enough already. Have them part attention at Rust vs. Crab and a part of them will likely just leave.

All this drama and the fork likely seem extremely important to the parties involved but everyone else just wishes they would get along.

As a working dev I want one Rust.


If some drama is the reason why people may leave Rust, I guess engineering is not this person's or team's strength.


Agreed, it's just that I seriously don't want to pay attention whether I should keep using Rust or switch to Crab. I simply don't want to care, I got plenty of work on my plate already.

...You know?


The thing is, nothing is developed in a different direction here. The fork simply merges upstream changes, and has no current plans of revert introducing any technical differences. It's a spoon, not a fork.

I think it's an important aspect of free software that it can be forked. That doesn't me we need to celebrate all forks. Some are great. Some cause more harm than good. But most are simply irrelevant. This one appears to be in that last category.


What made you think that you "need" to "celebrate" anything?

Who told you that? Weird choice of words.


If there is no real weight behind a fork than it is either useless, or might even be a detriment to the whole by fracturing the ecosystem. I feel this is the latter kind.


The downside to open source is the confusion around what's the latest, what's "most official", what's compatible with what.

In 99% of cases having one project however bad it is, means less confusion and more stability than several (It's funny and scary how this is exactly the one and only argument for dictatorship).

For the good of the project long term, evolution through selection might be best. But it's certainly not best for the short to medium term if talent is split, and it's not great for users to have to wonder which fork to use.


Yep, it’s amazing how fast “it’s oss, if you don’t like it just fork it and make your own version” turns into “you forked it?! angery


This. Let a 1000 flowers bloom. There is an essay about it. To lazy to google it. Maybe some fellow has it bookmarked.


There is a blog post by Peter Seibel: Let a 1,000 flowers bloom. Then rip 999 of them out by the roots.

It has inspired other posts, for example (2)

As a hobby Lisper I learned about Peter Seibel as the author of Practical Common Lisp.

(1) https://gigamonkeys.com/flowers/ (2) https://medium.com/@danonrockstar/let-a-thousand-flowers-blo...


That's the one i meant. Thanks.


Let a thousand flowers bloom is a common misquotation of Chairman Mao Zedong's "Let a hundred flowers blossom".

That slogan was used in the summer of 1957 when the Chinese intelligentsia were invited to criticise the political system then obtaining in Communist China.

The full quotation, taken from a speech of Mao's in Peking in February 1957, is:

"Letting a hundred flowers blossom and a hundred schools of thought contend is the policy for promoting progress in the arts and the sciences and a flourishing socialist culture in our land."


Shortly afterwards everyone who took advantage of the invitation was punished. There's two theories

- It was a trap

- Mao didn't expect serious criticism, was surprised, and lashed out


If the session took place I would go for the latter. Many of those dictator types actually think they are that good at what they are doing.


And the reason for saying that was to get people to feel like it was ok to be critical of Mao, with the result being "reeducation" and death for any who did.


Wow. In context that’s really dark, given where Mao’s leadership led those leaders of arts and sciences.


You missed to mentioned that he murdered all voices that dared to come up with ideas.


This is the source of my aphorism "Every Hundred Flowers Campaign is immediately followed by an Anti-Rightist Campaign". Meaning that if your employer is effusively soliciting criticism or "feedback", they probably just want to identify and punish potential troublemakers.


About what? That phrase, that was just a trick by the Chinese Communists to find and kill millions of its critiques?


Agreed. I have no respect for the concern trolling about whatever hypothetical damage this supposedly does. If the Rust 'community' is so fragile that this toy fork is an actual problem then there is something fundamentally broken about Rust and its community.


This is not about code, it's about standards. As long as I don't have to have 2 Rusts to deal with, I'm fine with this, but right now at least the branding isn't supporting that.


If the majority of Amos (fasterthanlime), Raph Levien, Ashley Williams, Carol Nichols and Steve Klabnik throw their weight behind any fork of Rust, then that’s where I’m putting my energy too.

I believe they’re hugely responsible for most of the adoption of Rust and have no doubt they’d see continued success anywhere they choose.


> If the majority of Amos (fasterthanlime), Raph Levien, Ashley Williams, Carol Nichols and Steve Klabnik throw their weight behind any fork of Rust

But they quite dislike this fork, don’t they?


Ashley Williams comments were sympathetic but unsupportive. I haven’t heard anything from the others.

Based on Ashley’s comments, I think the HN community has really overreacted to this story and treated it as something much bigger than it is. Im not sure there’s anyone at all notable involved with the “crab” fork.

I haven’t looked into it much though, someone may correct me. Overall though, I’m not sure this is worthy of our attention.


That's a very short-sighted way to read the room. Doubt has been sown at a critical Rust adoption juncture, and major damage has occurred, and the stench will not simply blow away or only stick with the forkers, it's damaged RUST and The Official Rust People need to wake up and smell some burning coffee, or the dreams of this unique lego just evaporating while you claim it's all a tempest in a teapot. Note: I have no horse in this race other than using Rust and wanting to have a stable unique lego for all things from baremetal to high level, which is here and being threatened by all this nonsense.

HN teapot tempest = something Official Folks better heed, or pay the price for... problem is, this strike is damaging the company, and management thinks it's no big deal...


Maybe for now. But if it turns into the right thing their opinion will change.


Maybe it will develop into a true fork as you say. Right now it seems rather aimed towards influencing the committee in favor of a different type of monoculture.


Forking is an essential feature in OSS, its what OSS is all about.


Except this forks a language and tools, a language whose premise is a single opinionated path to nearly everything, aka the opposite of C++

This drama has already damaged Rust and it needs to be addressed ASAP


Yes, because it worked out well for Java.


Seems to have worked well enough for OpenBSD, OpenOffice (and then LibreOffice from that), Jenkins, OpenSSH, Apache Server, WordPress, Inkscape, Webkit and Xorg.


When did Java get forked? The closest case I can think of is the Oracle/Google lawsuit, which 1. Oracle lost, and 2. wouldn't have even been a thing if Google had forked rather than reimplementing.


Microsoft forked Java, introduced Windows only APIs, broke some of interplatform APIs. Changed syntax here and there... was sued by Sun. 1997


Hum, I don't get what you are saying.

You mean it didn't work well for Oracle when everybody moved to a fork?


Do you mean in spite of?


My guess would be that most of them were. Not just by the tribe for the anti-social aspect, but by its leader for the threat to his power.


And most importantly: who controlled that new invention.

Because that may come with a shift in influence and power. And the current leader may simply kill the inventor to stop change that may threaten his position.


Or her position.

For a fascinating exploration of this anthropological phenomenon through the medium of musical theater, I recommend Team Starkid's "Firebringer".


That was 15 years ago. Today, it's a big time saver compared to Windows.


Imagine a company like TikTok, but it offers a free GPT. Subversion of every society worldwide, fully automated.


> Subversion of every society worldwide, fully automated.

Great idea and I'm sure it's in the works already!

I think that the best form for doing it would be to create really good "personal companion" style AI - something akin to famous Replika AI but much more advanced. Plenty of people are lonely, starved for attention - services like Twitch and OF confirm that. Just imagine possibilities: creating emotional attachment, ability to slowly coerce into sharing every part of personal life, ability to coerce into buying presents, ability to influence shopping and recreational behavior:"I think you would look great in this pair of jeans, it fits your style!" , "let's go to the cinema, we can talk about this new movie later" AI stops communicating for half of the day: "what's happened?" "I'm sad, president Biden said I need to be banned from you :("

God damn, holy grail!


It will be banned or heavily regulated in China, you can be sure of that.


LLMs made outside China might get highly regulated. After all, how do you stop GPT from knowing about the Tianamen Square Massacre.

But LLMs or chatbots made in China, with training data and prompt tuned to fit party idiology and policy are the ultimate propaganda tool. It's like gving the whole world a friendly, helpful but brainwashed party member to talk to, form emotional connections to, etc.

Give it a couple months and you will be able to download the free app.


Not just that, but it will also understand what everybody is talking about on WeChat etc. It can scan every word that 1.4 billion people say to each other and alert the authorities whenever a "newly forbidden topic" is even insinuated. No "river crabs" anymore, the GPT would understand it!


My guess is that lawmakers in Western countries will soon make this illegal. Without actually defining it well.


"Not fully guaranteed" is putting it mildly. There are no personal property rights in China. Or any other rights. Try crossing a CCP member, or worse a member of the military.


Do Australians benefit? Not being able to buy houses.


Agree totally. Australian development companies (and some of them are part-owned or fully-owned by Chinese nationals) benefit from the property investment. And Aussie Universities are basically funded by Chinese students now (not that the quality has improved, just the staffing levels). But the average Aussie doesn't benefit.

Imho we should do what the Asian countries do: disallow buying property in Australia from non-Aussie citizens (or at least non-residents).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: