News for hackers. Stuff that matters.
Re:Io.js 2.0.0 Released by mmcclure on Tuesday May 05, 2015 @01:15AM (#9490962)
Just like all statistics, these should be taken with a grain of salt, but I think Github's "pulse" breakdowns between Iojs and Node are pretty sobering.

Iojs: 49 authors have pushed 168 commits to master and 572 commits to all branches. On master, 8,474 files have changed and there have been 1,524,012 additions and 708,276 deletions.

Node: 30 authors have pushed 5 commits to master and 95 commits to all branches. On master, 10 files have changed and there have been 294 additions and 36 deletions.

That's for the last month.

Re:Io.js 2.0.0 Released by Osiris on Tuesday May 05, 2015 @01:28AM (#9491004)
It reminds me of Internet Explorer. Once it got "good enough", development slowed to a trickle until someone finally got fed up with it and started a new browser with a very rapid release cycle that continues today.

Node.js 0.10.0 was released on March 11, 2013. 0.12.0 was released almost 2 years later on Feb 6, 2015. By all accounts 0.12 isn't even a major change over 0.10.

The io.js team has done more in a few months than Joyent did in 2 years.

I, personally, don't care if node.js and io.js ever merge. One is clearly a superior product with a superior open source governance model.

Re:Io.js 2.0.0 Released by teamhappy on Tuesday May 05, 2015 @08:22AM (#9492052)
> The io.js team has done more in a few months than Joyent did in 2 years.

This seems a bit one-sided. What Joyent has been doing is called "maintaining production software." That's something I've been missing in the web world lately. It's surprisingly hard to find high quality libraries that don't change all the time (that is, break all the time). Libraries like jQuery, normalize.css, and Lodash are the exception here. They're some of the few libraries that I'm comfortable guessing will look pretty much the same they do now a year from now.

That is not to say that I don't want to write my gulpfiles in ES6 as much as everybody else, but you have to understand that this whole forking thing scares off people who are looking for a platform they can invest significant time and money into (that is, write more than a million lines of code for).

Re:Io.js 2.0.0 Released by towelguy on Tuesday May 05, 2015 @10:39AM (#9492699)
Why can't they have a development branch while still keeping their LTS branch?
Re:Io.js 2.0.0 Released by jaredmcateer on Tuesday May 05, 2015 @11:04AM (#9492855)
Have they figured out how they are doing LTS yet? Last I saw there still wasn't agreement.
Re:Io.js 2.0.0 Released by wnevets on Tuesday May 05, 2015 @10:45AM (#9492733)
General consensus on hacker news seems to be angularjs making breaking changes bad, io.js making breaking changes good.
Re:Io.js 2.0.0 Released by davedx on Tuesday May 05, 2015 @11:18AM (#9492949)
Which breaking changes are there in io.js? I'm just curious, not been following it closely; but AngularJS 2.0 is a completely different API. You can't "migrate" an Angular 1 project to Angular 2, you need to rewrite it. That's understandably scary and horrible for some people.
Re:Io.js 2.0.0 Released by Osiris on Tuesday May 05, 2015 @11:50AM (#9493127)
For the most part, almost all JavaScript code and modules will run the same under io.js as node.js. The primary point of breakage is binary modules. io.js is constantly upgrading their V8 bindings, so binary modules need to be updated much more frequently than with node.js.
Re:Io.js 2.0.0 Released by jorangreef on Tuesday May 05, 2015 @01:31PM (#9493745)
It's more a case of dealing with the legacy problem of node.js never having upgraded V8 as often as they should have.
Re:Io.js 2.0.0 Released by wnevets on Tuesday May 05, 2015 @11:43AM (#9493088)
> Iojs: 49 authors have pushed 168 commits to master and 572 commits to all branches. On master, 8,474 files have changed and there have been 1,524,012 additions and 708,276 deletions.

With that much change in such a short time, it would be extremely optimistic to think something didnt break. If I had a lot of production code depending on node, those numbers would scare the crap out of me.

You can absolutely migrate angular 1 to angular 2. Following good practices (i.e not having 4k line controllers) that were place since its inception only makes that migration easier.

Re:Io.js 2.0.0 Released by heydenberk on Tuesday May 05, 2015 @01:12PM (#9493627)
Server code is much easier to test with unit and integration tests than UI code which is part of the reason that people dislike breaking changes in UI frameworks more than in other kinds of libraries.
Re:Io.js 2.0.0 Released by Flenser on Tuesday May 05, 2015 @12:01PM (#9493204)
There's an interesting defence of Joyent here: https://news.ycombinator.com/item?id=9491547
Re:Io.js 2.0.0 Released by NhanH on Tuesday May 05, 2015 @01:23AM (#9490987)
Did I read the number wrong, or is that an absurd amount of changes (note: I haven't look at the commit myself, as I have no idea how to get all the stats from github interface)?

That's about 800000 additional lines of code for 49 developers in a months, or ~16000 LOC for each developer. Unless additions and deletions are counted on a different unit, can anyone knowledgeable explain to me how the numbers are reasonable at all?

Re:Io.js 2.0.0 Released by lugg on Tuesday May 05, 2015 @01:37AM (#9491030)
Most of it is junk find and replace stuff / formatting docs etc. [1]

Pulse [2] is just a neat github feature that gives you an overview of a project.

LOC will always be a shitty metric for anything.

[1] https://github.com/iojs/io.js/commit/56e4255382ad4d2426e0346...

[2] https://github.com/iojs/io.js/pulse

Re:Io.js 2.0.0 Released by brandonb927 on Tuesday May 05, 2015 @01:47AM (#9491055)
Joyent used to have the license on the top of virtually EVERY file in the repo for node. Someone removed all but one (6430 deletions) https://github.com/iojs/io.js/pull/311/files

I can imagine this makes up for a portion of it.

Re:Io.js 2.0.0 Released by riffraff on Tuesday May 05, 2015 @03:25AM (#9491281)
I remember this was a common thing in free/open source projects some time ago[0].

At some point people started to believe that this was not necessary. I am not sure of the legal implications, of either choice, just wanted to point out that the joyent people probably were not crazy :)

[0] e.g. a random file from ISC bind https://source.isc.org/git/?p=bind9.git;a=blob;f=bin/rndc/rn...

Re:Io.js 2.0.0 Released by vidarh on Tuesday May 05, 2015 @04:45AM (#9491473)
In every Berne Convention signatory country (which is pretty much any country that will matter to most people), published works are required by the convention to be copyrighted by default, whether or not there is a copyright notice, and the lack of a license means you have to assume you have none unless something else tells you differently. That basically makes embedding the license text pointless.

It certainly was common, though, which is/was probably because the US did not join until 1989, and prior to that US copyright law required a mandatory copyright notice, so a lot of people will have at least worked on projects old enough for this policy to have mattered.

Re:Io.js 2.0.0 Released by greggman on Tuesday May 05, 2015 @06:00AM (#9491693)
Really? I've been putting the license in every file in my project because it's JavaScript and people drive by a website, see "foo.js" and have no idea where it came from or what license it's under. With the license in the file it's immediately clear.
Re:Io.js 2.0.0 Released by towelguy on Tuesday May 05, 2015 @10:44AM (#9492722)
If the file doesn't have a copyright notice, I'd assume the author is the website's owner and its license should apply.

Maybe there should be a convention to add a copyright.txt file to websites like there is robots.txt and humans.txt?

Re:Io.js 2.0.0 Released by davedx on Tuesday May 05, 2015 @11:21AM (#9492972)
Usually you'd concatenate and minify deployed JavaScript anyway. Sometimes you get a license in that, sometimes you don't. I don't think that many people really copy that much JavaScript from live sites these days...
Re:Io.js 2.0.0 Released by lojack on Tuesday May 05, 2015 @10:03AM (#9492509)
> That basically makes embedding the license text pointless.

Embedding the license makes sense because otherwise others have to assume they don't have the right to use. The copyright notice on the other hand is pointless.

Re:Io.js 2.0.0 Released by k__ on Tuesday May 05, 2015 @09:23AM (#9492308)
If Joyent has the copyright, why could they remove these notes?

Or is this just a cosmetic thing and they removed it from the files but kept it in a separate license file?

Re:Io.js 2.0.0 Released by forthefuture on Tuesday May 05, 2015 @10:13AM (#9492559)
The commit message:

"The copyright and license notice is already in the LICENSE file. There is no justifiable reason to also require that it be included in every file, since the individual files are not individually distributed except as part of the entire package."

Re:Io.js 2.0.0 Released by irishcoffee on Tuesday May 05, 2015 @09:47AM (#9492429)
> // Copyright Joyent, Inc. and other Node contributors.

Maybe the person who removed the copyright was a node contributor?

Heh, maybe its the same person who put the copyright at the top of every file in the first place.

(I have no idea, just a guess)

Re:Io.js 2.0.0 Released by tiles on Tuesday May 05, 2015 @02:38AM (#9491147)
Not just someone, but @izs (former maintainer, creator and current co-founder of NPM)
Re:Io.js 2.0.0 Released by Siecje on Tuesday May 05, 2015 @09:20AM (#9492292)
That wasn't in the last month.
Re:Io.js 2.0.0 Released by frutiger on Tuesday May 05, 2015 @01:30AM (#9491010)
Unless you ask it, git considers file moves to be a complete deletion of the file along with the addition of the file. A good way to tell git to detect renames is to use the similarity flags: `git diff -M60% --shortstat` will consider files 60% similar to be renames.
Re:Io.js 2.0.0 Released by _pmf_ on Tuesday May 05, 2015 @01:48AM (#9491058)
So, node.js is more stable and therefore more suitable for production?
Re:Io.js 2.0.0 Released by jorangreef on Tuesday May 05, 2015 @02:55AM (#9491187)
We have been using node.js in production since almost the very beginning.

We have since switched to io.js and I would seriously hesitate to use node.js, due to the seismic gap release pattern, which is actually more likely to create issues. Node.js is definitely not "more stable" as Joyent like to claim.

io.js has almost all of the core developers from the original node.js, which is now basically just a ghost town.

For stability, critical fixes and core developer support go with io.js.

Re:Io.js 2.0.0 Released by tracker1 on Tuesday May 05, 2015 @04:21PM (#9494713)
Not to mention, that breaking your services apart (to some extent) becomes pretty easy to test, and with something like docker/lxc it becomes trivial to test/configure a new service with updates for deployment in isolation from the rest of the system... and tested independently.
Re:Io.js 2.0.0 Released by anon3_ on Tuesday May 05, 2015 @02:02AM (#9491080)
Why wouldn't node.js have more contributions? It's the official product and backed by a neutral company (Joyent).

Just like Sun does to Java, Microsoft does to C#, Google does to Golang. It's beneficial.

Joyent is a company of merit that stays out of politics. Integrity trumps popularity, sure it it can ruffle feathers time to time. Why not just enjoy the support and let things coast?

Edit: If anyone has proof otherwise, I'd like to see it. Name one time Joyent ever made a mistake in their open source stewardship.

Re:Io.js 2.0.0 Released by phpnode on Tuesday May 05, 2015 @02:47AM (#9491166)
Is this sarcasm? io.js would not exist if joyent hadn't made significant mistakes, e.g. failing to ship a new release for years, also this political point scoring alienated a lot of people - https://www.joyent.com/blog/the-power-of-a-pronoun
Re:Io.js 2.0.0 Released by anon3_ on Tuesday May 05, 2015 @02:59AM (#9491200)
I use node.js daily, I've never had a problem. Nor have I heard any.

Failing to ship a new release, how is that Joyent's fault? It's core developers who are to blame.

I don't understand the point of the link you sent me. How would a gender neutral alienate people? The person they were talking about here wasn't an employee.

But why would Joyent consider rejecting a PR for gender pronouns as a fireable offense? Probably a website defacement / practical joke.

Edit: FYI - I don't follow this. I don't understand why a fork even exists.

Re:Io.js 2.0.0 Released by vacri on Tuesday May 05, 2015 @05:23AM (#9491592)
Failing to ship a new release, how is that Joyent's fault? It's core developers who are to blame.

You really are out of the loop. The core developers were frustrated at Joyent not pushing their code, so they jumped ship. Joyent was the steward of the codebase, and they were at fault for not incorporating the developers' work.

How would a gender neutral alienate people?

It's the manner in which they handled the issue that was alienating. Screaming about how tolerant they are, all while screwing over one of their primary contributors, demonising him, and saying he'd be fired rather than retrained. They were soapboxing for cheap political points rather than actually being tolerant and understanding. It's why I actually laughed out loud when you described Joyent as a company that doesn't get involved in politics.

The irony is that the developer in question isn't a native speaker of English, and his native tongue is a gendered language, which likely contributed to his blase attitude on the matter. A little understanding, tolerance, and mature discussion and correction (instead of soapboxing) would have gone a long way.

Re:Io.js 2.0.0 Released by anon3_ on Tuesday May 05, 2015 @05:19PM (#9495027)

  his native tongue is a gendered language, which likely contributed to his blase attitude on the matter.
I never even considered that.

I can't some people have such amazing talent, earn our trust, yet display a shocking display of actions that go against their interest.

Linguistics and humanities is basically the art of diversity. Yet, for some people, diversity is just a word to convey a twisted oppression.

Re:Io.js 2.0.0 Released by chrismonsanto on Tuesday May 05, 2015 @03:55AM (#9491362)
> It's core developers who are to blame.

You mean the same core developers of io.js, who clearly are shipping now that Joyent is out of the loop?

Re:Io.js 2.0.0 Released by randunel on Tuesday May 05, 2015 @05:04AM (#9491546)
> But why would Joyent consider rejecting a PR for gender pronouns as a fireable offense? Probably a website defacement / practical joke.

That wasn't a rejection because of gender pronouns. That was a rejection because one pronoun was changed from the docs, instead of all of them. This leads to:

- minor change, not suitable for a PR

- inconsistency, either change all of them to match, or leave them alone

Re:Io.js 2.0.0 Released by zongitsrinzler on Tuesday May 05, 2015 @06:36AM (#9491779)
I think we have a Joynet employee here
Re:Io.js 2.0.0 Released by Cthulhu_ on Tuesday May 05, 2015 @03:24AM (#9491279)
> But why would Joyent consider rejecting a PR for gender pronouns as a fireable offense?

Because community pressure, basically. When there's an angry mob outside about to burn your company down, do you just give them who they want or let your company burn and have everyone else fired too?

Re:Io.js 2.0.0 Released by phpnode on Tuesday May 05, 2015 @03:33AM (#9491300)
It actually had nothing to do with the pronouns or the angry mob, and everything to do with forcing a StrongLoop employee out.
Re:Io.js 2.0.0 Released by geofft on Tuesday May 05, 2015 @03:18AM (#9491255)
> Why wouldn't node.js have more contributions? It's the official product and backed by a neutral company (Joyent).

I'm confused what you are asking. The parent post indicates that node.js in fact has fewer contributions (over the last month).

Re:Io.js 2.0.0 Released by babuskov on Tuesday May 05, 2015 @03:19AM (#9491256)
I think a better analogy would be what Oracle does to MySQL.