Hacker News new | ask | show | jobs
Govern Node Right (nodegovernance.io)
57 points by wlaurance 4131 days ago
5 comments

I never knew open source could be so political until node.js came along. I really took for granted the value a good BDFL brought to the party.
As someone who uses PHP (yep, heard it all before, don't care) a great deal, the core devs could really do with a competent BDFL.
Agreed! PHP really needs a non-backwards compatible fork, something to go back and refactor all the built-in functions so they're consistently named and the arguments are consistently ordered, and with sensible defaults all around.

If the fork did nothing else, that would still be a huge leap forward.

No, it really doesn't.

Forks are highly dangerous and fragment communities. Massive BC breaks kill adoption of new versions.

If you want nicer functions, add a new, parallel API.

(Speaking as a former PHP internals contributor.)

+1. People are still on Python 2.x.

If you want safety, add a nice upgrade path so people can actually start using it easily on their existing codebases.

Tag the old API as potentially dangerous/unsafe/deprecated/ugly and warn (or error out if you can opt into a strict mode per-file) so people can upgrade incrementally without waiting for all their dependencies to first (who won't because they have no upgraded users), and without breaking all their tests in one mega-commit.

> If you want nicer functions, add a new, parallel API.

This has been one of my 'shower' (think about in the shower) projects for quite a while :).

One day I might even take a stab at it.

So a new API with the old one deprecated. Same thing.
Actually, one reason people still use PHP is backward-compatibility. You can take an old project, import it to the latest PHP, and it'll mostly work. Try doing that with node, Rails, Python, or Angular 1.0.

One big mistake Microsoft made was breaking compatibility with VB6 and VB.NET. What happens to all those people who spent years developing VB6 applications?

If you took PHP and refactored everything and cleaned up the bad bits, it'd be a new language and not PHP. You'd be starting over from scratch and competing with all the other hot and trendy languages fighting for users.

How's that working out for adoption of Python 3?
Right, as if Python 3 is a hostile fork or something. Nope. The pushback against Python 3 boils right down to laziness on the part of library authors, and the 2.x people serve as a kind of echo chamber of conspiracy theory about what's simply an iteration.
That's kind of my point: If a non-hostile, non-forked, major version upgrade to an established language like Python encounters pushback from library maintainers and the community, what chance is there that a hostile fork to PHP will gather support from a critical mass of maintainers and community?

I honestly think a better way would be to write a library that acts as a wrapper/translation layer to the non-intuitive commands that exist in PHP (thinking about it, I'm sure one probably already exists).

And don't forget Perl 6!
Quick question as it seems I'm missing something here.. Why is joyent stewarding node.js? I mean, are the core devs working for the company?
Ryan Dahl (ry) the creator of node.js started working for Joyent during its early development.

https://groups.google.com/forum/#!topic/nodejs/lWo0MbHZ6Tc

Edit: just noticed a delicious bit of prescience from isaacs in the thread:

  Right.  And if Joyent is a douche, they're going to find
  themselves empty-handed, as the node community will find a 
  new champion.
Thank you.
btw, "io" was apparently Ryan's first choice for a project name before "node".
I hope this site, and others, serve to convince the community that Node isn't going to work, and to move forward with iojs instead. Even if the Node project fixed everything, I would still prefer iojs.
Can you expand on that? Why would you still prefer io.js?
I agree with the grandparent post. Joyent has been so flippant, and specifically when Bryan Cantrill made that post, I just totally lost all respect for Joyent. I spent the winter writing Go, so had lost touch with node-forward, and came back to the pleasant surprise of io.js v1.0.x. I think at this point, it would be a step backwards (and a mistake) to give Joyent even a meter of ground that's been gained with the io.js fork.
Well done. Simple and to the point.
Thanks!
I really hope the IO kids give Joyent their ball back, so we can all go back to playing.