Node.js Forked By Top Contributors
New submitter jonhorvath writes: Several of the top contributors to Node.js, a popular open source run-time environment, have decided to fork the project, creating io.js as an alternative. The developers were unhappy with how cloud computing company Joyent was directing work on Node.js. Mikeal Rogers said, "We don't want to have just one person who's appointed by a company making decisions. We want contributors to have more control, to seek consensus." Here's the new repository, and a README file to go with it. A developer at Uber tweeted that they've already migrated to io.js on their production systems. It'll be interesting to see how many other sites follow.
The scourge of Open Source disguised as choice..
I believe this is one part of the "Node Forward" project.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
if these open source projects are going to accept corporate sponsorship, they must do that corporation's bidding.
taking the money and running away is extremely childish, and possibly criminally fraudulent. they paid you to work on node.js. so... work on it... actually, don't. it sucks.
Unless they plan to change the feature set, offer something node doesn't, they're wasting their time. Another fork "just because I can".
But timothy needs to be fired first. Someone, someone. Please fire timothy!
Taco wouldn't and now Dice is up to bat. Don't let us down for once!
You think? You treat a core contributor like this and then wonder why he steps down and leaves? The best part is that when they announced his departure they're like "yeah, uh we totally respect him and his amazing contributions now please respect our wishes and stop bringing up the fact that we are a bunch of SJW tools who treated a major contributor with less respect than Linus Torvalds treats people who intentionally crap all over his code base."
I've shown this crap to coworkers who were interested in learning Node and their reaction was "W...T...F..." that's how they treat their community?
See Red Hat's raping of the Linux operating system with the forced implementation of systemd. The only people that even want systemd are spiky haired teenagers that think Arch is some great cool thing (it's not).
I applaud this fork, node.js is dead to me and Joyent is too!
If these guys know how to play it right, Node.js is history. He had the same thing with the Mambo Fork Joomla. Hardly anyone remembers Mambo anymore, and Joomla is a leading project.
I hope this new project knows how to manage things and do good marketing.
Thumbs up. Let's see where this goes.
We suffer more in our imagination than in reality. - Seneca
What are the specific grievances?
I mean, they wouldn't want the fork if the corporation handled the management right. Even if through just one person, but one *competent* person.
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
Joyent has made news before also.
http://news.slashdot.org/story...
They shut down paid lifetime accounts earlier.
"The scourge of Open Source disguised as choice.."
All too true too often. And the failure of the Linux Desktop to gain traction is a prime example of that (other than finally essentially via the Chromebook).
That said, "Stigmergy" is a way that large structures (like the FOSS landscape?) can get built by entities following relatively simple local rules. For example, termites build big complex mounds by getting excited when they see other termites having accomplished something small but interesting (creating an arch).
http://en.wikipedia.org/wiki/S...
http://www.evolutionofcomputin...
See especially: ... Collaboration in large groups (roughly 25-n) is dependent upon stigmergy."
http://journal.media-culture.o...
"Collaboration in small groups (roughly 2-25) relies upon social negotiation to evolve and guide its process and creative output.
Although in the termite case, they are increasingly joining together their separate actions vs. splitting apart the community in the NodeJS case. Maybe this is more akin to how a new generation of termite "queens" and their consorts takes to the air and finds a new place to create a new mound?
In any case, as a software developer moving into using NodeJS (and JavaScript in general) for new projects, this is not the sort of new I really want to hear. That is because it seems, in the short term, to increase risk (including from dilution of effort and community). In the long term I can, of course, be cautiously hopeful that the social and organizational issues will get worked through one way or another.
Fortunately, and why I like the JavaScript ecosystem even as I find JavaScript the language awkward to work with,there are many possible JavaScript containers to run stuff in. Here are a couple more for the server:
http://nodyn.io/
"Nodyn is a Node.js compatible framework, running on the JVM powered by the DynJS Javascript runtime"
http://ringojs.org/
"Ringo is a CommonJS-based JavaScript runtime written in Java and based on the Mozilla Rhino JavaScript engine. It takes a pragmatical and non-dogmatic stance on things like I/O paradigms. Blocking and asynchronous I/O both have their strengths and weaknesses in different areas."
So, in the Stigmergic sense, the idea of JavaScript everywhere (including on the server) is taking off as all us little FOSS termites get excited about the idea and work together on various arches. And with ways to compile C to code that can run efficiently on a JavaScript runtime, I wonder f we will see more and more adoption of JavaScript containers and further improvements in them.
While divisions of this look painful, when you step back and look at the landscape of millions of software developers who like to develop software (sometimes in different styles or with different emphases) this kind of forking is inevitable.
Reflecting on this though, I started shifting from Python around the time that the "Benevolent Dictator for Life" Guido van Rossum created a new (somewhat) backwardly-incompatible version of Python (3) while the community kept pushing support for the old one. Perl faced a similar issue with a new version going to version 6. I'm sympathetic to that dilemma for the original authors, but those are, to a lesser extent, and maybe with less drama, other examples of these sorts of tensions of priorities and individual vs. community control regarding priorities and future directions.
We probably need to develop much better understanding of what makes a FOSS project a success (in terms of community dynamics) and how it can stay a success despite trying to fix up early design choices.
Sometimes workarounds can keep things together for a time, like how JSLint/JSHint and "use strict" i
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
Which one should I use now and why?
A 'project' is a vague concept. What 'sponsorship' means can be vague too. Are they providing hosting services? Are they managing the authentication configuration? Did they impose some CI where they get final say? Did they provide employment to some or all participants? Did they pay as part of a contract arrangement for the time of some developers?
In short, knowing how corporate sponsorship historically happens in open source, the corporation maybe provides some contribution, but does take control of the project hosting and copyright such that the 'authoritative' source follows their will, but they do not actually offer many of the developers financial benefit or bind their hands to fork.
This happens not infrequently to very prominent software in open source land, sometimes without the commercial facet. MySQL and MariaDB. Ethereal and Wireshark. gPXE and iPXE. XFree86 and Xorg. ffmpeg and and libav. Openoffice and Libreoffice. Usually it becomes clear where the *real* meat of development was and only one fork is technically viable.
XML is like violence. If it doesn't solve the problem, use more.
s/(he|she|it|they)/\(he\|she\|it\|they\)/
Or something similiar that is a proper regex :)
If you just include all 4 each time it'll be difficult for anybody's panties to be in a bunch and additionally you can make one scripted run across the entire documentation-base to change them once and for all, assuaging both devs complaints (singular irrelevant doc change, and gender neutralizing all pronouns)
Problem solved.
MEIOA? (like meow?)
EI EI O?
Not enough consontants to work with, unless there's a good non-English curseword sound in there. Anyone?
While the rest of the world trudged on...
Streams are broken, callbacks are not great to work with, errors are vague, tooling is not great, community convention is sort of there, but lacking compared to Go. That being said there are certain tasks which I would probably still use Node for, building web sites, maybe the odd API or prototype. If Node can fix some of its fundamental problems then it has good chance at remaining relevant, but the performance over usability argument doesn’t fly when another solution is both more performant and more user-friendly.
And now they're forking Node over this ?
So I'm guessing streams will still be broken and callback will still be not great to work with.
Curiously yours, crip.
Are you stupid or just pretending to be stupid? The issue is that there was an established technical reason why commits like that shouldn't go in. He enforced the rule and then called an asshole among other things demonizing his character. If you think this is acceptable, especially from a Vice President of a company (Cantrill is a Vice President according to Wikipedia) then I don't know what to say except that your social skills make Linus Torvalds look like he's ready to ghost write an etiquette book for managing teams.
Well done social justice!
You just killed node.js!
Huzzahs for all.
And now the community at large is going to see your bullshit tactics even more and they will dismiss you for the bunch of crybabies you are.
Well done. You should pat yourselves on your backs for this.
I bet they don't even realize this as well. That is the hilarious thing.
Whatwat wat wat wt??
Comment removed based on user account deletion
Comment removed based on user account deletion
And the failure of the Linux Desktop to gain traction is a prime example of that (other than finally essentially via the Chromebook).
well, there is always next year.
never bring a twinkie to a food fight.
When someone thinks the standard isn't working....
How many years after the OpenOffice fork are there people still thinking what's OpenOffice vs LibreOffice? How many years past Oracle giving the keys to the source repository to OpenOffice do we still think OpenOffice vs LibreOffice
When it comes between slogging through a new architecture, or dealing with people, usually the new architecure is easier and almost always more fun. One advantage to paid projects (note: before mod down, this is a single advantage, not me saying paid is better or worse) the money can make people stick to a single project and not fork, meaning we have more consistency in interfaces. On a fork you may get goodness like the gcc/egcs split where the fork is so much better it becomes the mainline, or you might get the emacs/Xemacs split which is still an issue a decade plus out.
I especially liked the link to "empathy is a core engineering value" though: http://www.listbox.com/member/...
Linked from: https://www.joyent.com/blog/th...
And if so, should not empathy extend throughout all levels of a learning organization, including between managers and subordinates? Everyone is learning stuff all the time, including about cultural changes. Firing someone rather than trying to understand the situation and the individual's motives more first and whether change is needed or possible does not seem "empathic". Perhaps that is the kind of thing you tend to learn after many years of experience being a parent or other long-term caregiver (including a long-term manager or mentor) when you see someone learn and grow and change over a long time?
Plus, as other comments suggest here, there is an assumption in this blog post that may ignore the possibility the issue was about consolidating minor changes rather than having them as individual commits. If this issue was deemed by enough of the community to be important, maybe a more systematic patch would indeed be in order? One tiny change is not much work, but it may set a bad precedent?
Also, it is not empathic to coworkers and the rest of a company and community depending on someone to fire that person without notice without reasonable review or attempts at remediation for a less than egregious offense (contrast with, say, someone accused of physically assaulting a coworker). The issue there is proportion and risk/harm assessment.
So, the response of "we would have fired him" seems too extreme in multiple ways.
I am all for meaningful diversity in workgroups, like discussed in this book:
"The Difference: How the Power of Diversity Creates Better Groups, Firms, Schools, and Societies"
http://www.amazon.com/The-Diff...
However, the problem with some of these "politically correct" initiatives or statements which seem on the surface to be helpful to promote "diversity" is that they can actually make workspaces more stressful for *everyone*. Someone can bully with the rules (or their interpretation) just as much, or more, than with a fist... Here is a website by psychologist Izzy Kalman that explores some issues related to bullying and truly creating happy productive workplaces by *really* emphasizing empathy and forgiveness and growth and free speech:
http://bullies2buddies.com/
Just think about it -- does everyone at Joyent now need to be afraid of getting fired if they check the word "he" into the codebase, even by accident? Or maybe by saying "he" accidentally as a meeting? There are potential unintended consequences of creating a different sort of hostile workplace climate, like many US schools are finding out these days as a result of "zero tolerance" policies (like biting a cracker at lunch to make it shaped like a gun can get you in deep deep trouble).
For reference, here is what makes for happy productive creative workplaces in general (Autonomy, Mastery, Purpose):
"RSA Animate - Drive: The surprising truth about what motivates people"
https://www.youtube.com/watch?...
Anyway, these are all complex issues about language, sex, management, control, gender roles, cultural change, recruitment, productivity, norms, and more. They are tricky to talk about or write about without seeming uncaring or inept because of various assumptions people make about the context or the people involved -- and the fact that none of us are "perfect" (and that perfection can be in the eye of the beholder based on priorities). It is sad to see such great software get mired in them. But I guess they are p
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
NOT.
Can't we all just get along?
Now, let's focus on more serious issues. I've dealt with my share of this. I was almost fired from Sony San Diego Studio for my clicky keyboard. Let's make sure all projects permit the use of clicky keyboards, or FORK IT!
You know what, though - I decided it wasn't worth it - I just put up with a crappy Microsoft keyboard.
Appears a lot of forks of recent foundation technologies in the F/OSS community are having the same arguments and situations. Systemd comes to mind.
ono
So in the commercial world: change happens from market pressures (to make a profit) and technical (profit still, but the tech sucked).
In the FOSS world: changes appears to happen from petty contributor personality issues to development team philosophy.
As you can tell, I did not mention end user experience in either case.
Do it, the world needs to know.
This is not about anything even remotely technical. They both need to eat humble pie and apologize for being political and stupid. They need to decide that the node repository is not the place to discuss gender issues, gun control or a whole host of things.
I don't know what kind of bad PR joyent got or if this is just from their own political agenda's but they should appreciate the free technical help and as long as the programmer isn't puting #BooBies everywhere in the variable names then changing code arguing over he/she/they isn't anymore helpful than tabs / spaces. Standardize, don't standardize, change , don't change -- it really doesn't matter you just need agreement. the computer won't notice the difference in the runtime.
Bullshit, bullshit, and more bullshit. Technical decisions have practically dick to do with empathy. Every single time I have tried to add features to a product or system for "social" value I've been slapped the hell down. Technical decisions are based on 2 factors: Cost and Fitness for Purpose. The fitness is really just pointing back to profit since no one will buy a washing machine that can't wash. I'm not arguing anything about sexism or whatever. I could care less (but I won't because I do care a little) about which pronoun is used. And really does this whole thing not sound like it was completely a political bunch of spinning because "women in tech" is the big "thing" right now?
Also, do you smell that? That's hypocrisy right there. "We, this company, are making an overly broad generalization about people who make overly broad generalizations and wish to state that we don't condone overly broad generalizations. Those making overly broad generalizations shall be sacked." What I want to know is when and where the corporate-wide seppuku party will be so I can go watch.
How about those guys and gals get back to making java not suck so bad.
That's why regardless of what the comments say or which code snippet they may be from, I delete them. The open source plugs, the attributions, the ascii art of the brogrammers cat, the ones that specifically tell me I'm not allowed to delete them because GNU_GPL v6004 license-- ALL of them. I also don't write any comments in my software. I am also a bad programmer.
I prefer to use "the luser" for three reasons: One) I am immature and find it funny. Two) It is a staple term I learned at a young age from my LUG and I've heard many of you here use it all the time. Three) As I said a post above, I am a shitty programmer so this reminds me that I am a luser too, so it keeps my arrogance in check.
Sorry but I'm +1 on the change in jode.js and any open source project. I would prefer to avoid insulting the sensitive developers out there in code by avoiding gender pronouns.
Ben, sorry but you were being a di*k / a**hole there.
I agree that Bryan Cantrill could have been softer on how he blogged about this but that is not Bryan's style and I find his style very refreshing for the most part.
Now that is not to say that I may switch to io.js as I am getting very impatient about the 0.12 release getting out. Its taking way too long to have a production stable execSync().
You didn't fix shit, AC: They're dead, Jim, and it was killed by politicizing a commit. Fork it and forget it. goodbye.
If one is going to properly sanitize a statement, "you" can't be used. As a reader, *I* didn't kill shit, and it is antagonistic to suggest I did. Offensive even! See the stigma regarding "you people" or "those people".
lamness filter is lame
lamness filter is lame
But just so you heard it from us: if this were the act of a Joyent employee, we would—to deliberately use a gender-neutral pronoun—fire them.
oh wait, this just a fork, not a gender-neutral pronoun issue...
They're not cooked in tubs of beef fat, like the old days, or trans-fats like the less-old days, but the latter is because the public (correctly)perceives trans-fats as unhealthy. They still have beef fat in the pre-cooked frozen fries, for flavor purposes, so they're still not edible for us vegetarians, they're just less unhealthy for you carnivores.
Burger King doesn't use meat fat in their fries, and they also have veggie burgers, Five Guys probably makes the best fries, In-n-Out's are ok if you get the right out of the fryer (they're actually made by chopping potatoes, instead of heavily-processed frozen stuff, so they don't last as long, and if you're not vegan you can get animal-style fries, which are a sort of California poutine grease overdose (yay!))
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
You can find a much better hamburger almost anywhere. But you can also find a much worse hamburger anywhere. What McD's delivered early on was a consistently adequate hamburger, fries, and drinks at a relatively low price and high convenience. It would never be as good as the burgers at Ralph's Exxon*, much less the Waldorf Astoria, but it would also never be as bad as the burgers at the Binghamton NY Greyhound station or the vending machine at college. And it would also always be better than White Castle.**
* Ralph's was originally a gas station in central NJ, added a lunch counter, and eventually the food was bringing in more business than the gas. 10-oz burgers on a good hard roll (if you're not from the NY-NJ-Philly area, you may never have had a good hard roll.) They went out of business shortly after I stopped eating meat.
** Unless you're Harold and Kumar that night they were high; if you're high your mileage may vary.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Is this related to the Io programming language? http://en.wikipedia.org/wiki/Io_%28programming_language%29
I meant to say "That implies RHD is superior"
And here I was thinking they forked node.js to get away from the V8 engine which is no longer the fastest.
Articles like these are why I tend to never read the comments on /.
Joyent was not in the wrong for suggesting that reverting a commit to the documentation would be a fire-able offense. The way it was done certainly seems like it was taken then wrong way by some. At very lease HR would have a conversation with you if you pulled crap like that at any reasonable company.
If during your HR conversation it came out that your intent was altogether benign and that you simply thought the request didn't merit a commit, then you would work with your manager on a better way to handle such situations. Because to you, obviously from your place of privilege, it seems trivial and not an issue at all. To others it's apparently an issue and being sensitive to the needs of others is no skin off your back. It actually makes life easier for yourself and others in the long run.
So I believe it's sad that node.js is being forked to io.js over what amounts to a temper tantrum. I believe that Ben feels hurt by all of this and for that I'm sorry, but to leave the project instead of owning what he did and vowing to do better in the future does not speak well of his character.
Stepping down is a cop-out, often done by those who have no recourse to offer, as a form of self-punishment and a way to absolve themselves of future responsibility.
Personally, I'll be avoiding io.js and I hope that Ben comes back to work on the project with the full knowledge that this was a bit of a gaffe, but not a big deal in the long run and I'm sure he's a totally reasonable guy most of the time. If he wants to wear his big boy pants again I'm sure the project would welcome his skills back.
Full disclosure: I am not at all involved in this project and I don't know what their feelings on this are.
Will this happen with Python? Is there an internal division about the 3.x situation? Or is the controversy entirely external?