This repository has been archived by the owner. It is now read-only.

openness to re-merging with the Node project (in the future) #4

Closed
Fishrock123 opened this Issue Aug 22, 2017 · 25 comments

Comments

Projects
None yet
@Fishrock123
Contributor

Fishrock123 commented Aug 22, 2017

The open-ness to re-merge with the Node project was a fundamental force holding io.js together for the very beginning. Does Ayo aim to do the same?

IMO, it would be an ideal goal to have.

@Qard

This comment has been minimized.

Show comment
Hide comment
@Qard

Qard Aug 22, 2017

Contributor

I'd be open to re-merging if and when the problems plaguing Node.js are resolved. Problematic people removed; use of "policy" as an excuse ended; power structures reorganized to emphasize community over tech. So far though it seems like there's little desire to fix these problems from those with the power to do so.

Contributor

Qard commented Aug 22, 2017

I'd be open to re-merging if and when the problems plaguing Node.js are resolved. Problematic people removed; use of "policy" as an excuse ended; power structures reorganized to emphasize community over tech. So far though it seems like there's little desire to fix these problems from those with the power to do so.

@Fishrock123

This comment has been minimized.

Show comment
Hide comment
@Fishrock123

Fishrock123 Aug 22, 2017

Contributor

So far though it seems like there's little desire to fix these problems from those with the power to do so.

This is very similar to Node pre-io.js fork.

I agree that the goal should be when the things the fork is being made over are resolved (even if by a merge), if they are.

Contributor

Fishrock123 commented Aug 22, 2017

So far though it seems like there's little desire to fix these problems from those with the power to do so.

This is very similar to Node pre-io.js fork.

I agree that the goal should be when the things the fork is being made over are resolved (even if by a merge), if they are.

@zkat

This comment has been minimized.

Show comment
Hide comment
@zkat

zkat Aug 22, 2017

Contributor

I just want shit to be fixed. I don't care what the project is called or who controls it as long as it serves the communities it has worked so hard to push away.

Contributor

zkat commented Aug 22, 2017

I just want shit to be fixed. I don't care what the project is called or who controls it as long as it serves the communities it has worked so hard to push away.

@Fishrock123

This comment has been minimized.

Show comment
Hide comment
@Fishrock123

Fishrock123 Aug 22, 2017

Contributor

Maybe goal is the wrong wording - we were always open to re-merging if the stuff from pre-io.js node was fixed.

Contributor

Fishrock123 commented Aug 22, 2017

Maybe goal is the wrong wording - we were always open to re-merging if the stuff from pre-io.js node was fixed.

@varjmes

This comment has been minimized.

Show comment
Hide comment
@varjmes

varjmes Aug 23, 2017

Contributor

Maybe goal is the wrong wording - we were always open to re-merging if the stuff from pre-io.js node was fixed.

I second Kat's sentiments and also like this sentence.

Contributor

varjmes commented Aug 23, 2017

Maybe goal is the wrong wording - we were always open to re-merging if the stuff from pre-io.js node was fixed.

I second Kat's sentiments and also like this sentence.

@styfle

This comment has been minimized.

Show comment
Hide comment
@styfle

styfle Aug 25, 2017

Contributor

Is this related? nodejs/CTC#165 (comment)

Contributor

styfle commented Aug 25, 2017

Is this related? nodejs/CTC#165 (comment)

@addaleax

This comment has been minimized.

Show comment
Hide comment
@addaleax

addaleax Aug 25, 2017

Contributor

@styfle It’s the “statement” from a person who has generally been standing in the way of making Node.js an inclusive project, which is what this project is trying to achieve. That his behaviour was explicitly considered acceptable leadership behaviour by a majority of Node’s TSC was what sparked this fork. I don’t think there’s any more relation.

Contributor

addaleax commented Aug 25, 2017

@styfle It’s the “statement” from a person who has generally been standing in the way of making Node.js an inclusive project, which is what this project is trying to achieve. That his behaviour was explicitly considered acceptable leadership behaviour by a majority of Node’s TSC was what sparked this fork. I don’t think there’s any more relation.

@Fishrock123 Fishrock123 changed the title from is re-merging with the Node project a goal? to openness to re-merging with the Node project (in the future) Aug 25, 2017

@tenthirtyone

This comment has been minimized.

Show comment
Hide comment
@tenthirtyone

tenthirtyone Aug 25, 2017

Can this just be the repo for people who want to bring their identity politics to projects? It's actually nice that we have a place to direct them and I think what you're doing here would be a good home for people who want to spend more time debating what the pronoun should be used instead of doing development

tenthirtyone commented Aug 25, 2017

Can this just be the repo for people who want to bring their identity politics to projects? It's actually nice that we have a place to direct them and I think what you're doing here would be a good home for people who want to spend more time debating what the pronoun should be used instead of doing development

@csvan

This comment has been minimized.

Show comment
Hide comment
@csvan

csvan Aug 25, 2017

@tenthirtyone you're pretty much demonstrating why this fork exists. Congratulations.

csvan commented Aug 25, 2017

@tenthirtyone you're pretty much demonstrating why this fork exists. Congratulations.

@zkat

This comment has been minimized.

Show comment
Hide comment
@zkat

zkat Aug 25, 2017

Contributor

@tenthirtyone you're the one bringing identity politics into it here. Everyone else is talking about trying to contribute to a project and realizing we can't even make the Working Groups we need for it. See also: documentation WG.

You are, in fact, the first person in the entire thread to make any remarks about identity politics, btw. Maybe think about that a bit, and the time you're trying to waste here while we try and get code done.

Contributor

zkat commented Aug 25, 2017

@tenthirtyone you're the one bringing identity politics into it here. Everyone else is talking about trying to contribute to a project and realizing we can't even make the Working Groups we need for it. See also: documentation WG.

You are, in fact, the first person in the entire thread to make any remarks about identity politics, btw. Maybe think about that a bit, and the time you're trying to waste here while we try and get code done.

@jewsh

This comment has been minimized.

Show comment
Hide comment
@jewsh

jewsh Aug 26, 2017

emphasize community over tech

Wouldn't the number one goal be a functional product and therefore it should be tech over community?
Please be aware that I have Aspergers and can't read feelings/mood so if this offends anyone I'm sorry.

jewsh commented Aug 26, 2017

emphasize community over tech

Wouldn't the number one goal be a functional product and therefore it should be tech over community?
Please be aware that I have Aspergers and can't read feelings/mood so if this offends anyone I'm sorry.

@vsemozhetbyt

This comment has been minimized.

Show comment
Hide comment
@vsemozhetbyt

vsemozhetbyt Aug 26, 2017

Contributor

FWIW, but I am not happy with statements like:

If it comes to that, Ayo will work hard to find a good alternative governance structure itself, and ideally supplant the Node Core project...

I think both sides should try to abstain from any slightest hostility to make re-merging easier.

Contributor

vsemozhetbyt commented Aug 26, 2017

FWIW, but I am not happy with statements like:

If it comes to that, Ayo will work hard to find a good alternative governance structure itself, and ideally supplant the Node Core project...

I think both sides should try to abstain from any slightest hostility to make re-merging easier.

@Fishrock123

This comment has been minimized.

Show comment
Hide comment
@Fishrock123

Fishrock123 Aug 26, 2017

Contributor

I certainly think refraining from project hostility is healthy, but I do think that there needs to be a workable plan if re-merging either is a very long road (or (hopefully not) isn't possible).

Contributor

Fishrock123 commented Aug 26, 2017

I certainly think refraining from project hostility is healthy, but I do think that there needs to be a workable plan if re-merging either is a very long road (or (hopefully not) isn't possible).

@Fishrock123

This comment has been minimized.

Show comment
Hide comment
@Fishrock123

Fishrock123 Aug 26, 2017

Contributor

@jewsh Theoretically, maybe tech should be over community, but, as it is the community that builds the tech, the community needs to be healthy for the tech to be built as well as it could be built! 😄

Contributor

Fishrock123 commented Aug 26, 2017

@jewsh Theoretically, maybe tech should be over community, but, as it is the community that builds the tech, the community needs to be healthy for the tech to be built as well as it could be built! 😄

@aqrln

This comment has been minimized.

Show comment
Hide comment
@aqrln
Contributor

aqrln commented Aug 26, 2017

@Fishrock123
image

@Fishrock123 Fishrock123 added the meta label Aug 29, 2017

@sudocurse

This comment has been minimized.

Show comment
Hide comment
@sudocurse

sudocurse Sep 5, 2017

@jewsh:

Wouldn't the number one goal be a functional product and therefore it should be tech over community?

This is a really good question and one that merits some reflection. Ayo (node) is a language and/or set of tools for the developer community at large. While machines may execute the code, the product's purpose, just like most other products, are (generally speaking) meant for humans to create tools and products for other humans. In other words, the community and tech both exist to create better tech for better communities.

You shouldn't ever have to compromise one for the other. Unfortunately, community is often compromised as it is a heavily undervalued component of open source development. Thanks for bringing this up and please ask more clarifying questions about this if you'd like!

sudocurse commented Sep 5, 2017

@jewsh:

Wouldn't the number one goal be a functional product and therefore it should be tech over community?

This is a really good question and one that merits some reflection. Ayo (node) is a language and/or set of tools for the developer community at large. While machines may execute the code, the product's purpose, just like most other products, are (generally speaking) meant for humans to create tools and products for other humans. In other words, the community and tech both exist to create better tech for better communities.

You shouldn't ever have to compromise one for the other. Unfortunately, community is often compromised as it is a heavily undervalued component of open source development. Thanks for bringing this up and please ask more clarifying questions about this if you'd like!

@vtambourine

This comment has been minimized.

Show comment
Hide comment
@vtambourine

vtambourine Sep 8, 2017

Doesn't emphasizing community over tech sounds counter-productive? Node.js community exists only because of their recognized and well-known product. The product is recognized and used only because it solves people's problems and allow them to generate new ideas and do their work faster. Without such product community is just a group of people with common beliefs.

I as a customer shouldn't put much thoughts on who built it, as long as it solves my issues and make me productive. Just as I don't want to turn over every stone on the way to my goal.

That's why I believe the customer should be put on top of all things. Product next to it. And all the rest after first two things.

vtambourine commented Sep 8, 2017

Doesn't emphasizing community over tech sounds counter-productive? Node.js community exists only because of their recognized and well-known product. The product is recognized and used only because it solves people's problems and allow them to generate new ideas and do their work faster. Without such product community is just a group of people with common beliefs.

I as a customer shouldn't put much thoughts on who built it, as long as it solves my issues and make me productive. Just as I don't want to turn over every stone on the way to my goal.

That's why I believe the customer should be put on top of all things. Product next to it. And all the rest after first two things.

@sudocurse

This comment has been minimized.

Show comment
Hide comment
@sudocurse

sudocurse Sep 8, 2017

You shouldn't ever have to compromise one for the other.

Please review my comment above. If you don't like hearing about the social issues surrounding the tech, you as the "customer" can always opt-out of the discussion instead of chiming in on a thread on GitHub...

sudocurse commented Sep 8, 2017

You shouldn't ever have to compromise one for the other.

Please review my comment above. If you don't like hearing about the social issues surrounding the tech, you as the "customer" can always opt-out of the discussion instead of chiming in on a thread on GitHub...

@sandfox

This comment has been minimized.

Show comment
Hide comment
@sandfox

sandfox Sep 8, 2017

Node.js community exists only because of their recognized and well-known product.

@vtambourine node.js only exists because people built it.

Nothing is more important than people, and certainly not a software project. This is something that ayo seeks to make more explicit because doing otherwise has led to people being marginalised and mistreated on the very basis of their existence, because their existence was deemed of lesser importance than the "tech" .

It's also a bit of false dichotomy to assume you can only have tech or only have community, they are not mutually exclusive.

You are also not a customer of node or ayo. They are projects/software that you are free to use (noting any licensing/rights etc) and participate in (following social and community norms), and equally you are also free to not choose them and not participate.

sandfox commented Sep 8, 2017

Node.js community exists only because of their recognized and well-known product.

@vtambourine node.js only exists because people built it.

Nothing is more important than people, and certainly not a software project. This is something that ayo seeks to make more explicit because doing otherwise has led to people being marginalised and mistreated on the very basis of their existence, because their existence was deemed of lesser importance than the "tech" .

It's also a bit of false dichotomy to assume you can only have tech or only have community, they are not mutually exclusive.

You are also not a customer of node or ayo. They are projects/software that you are free to use (noting any licensing/rights etc) and participate in (following social and community norms), and equally you are also free to not choose them and not participate.

@zkat

This comment has been minimized.

Show comment
Hide comment
@zkat

zkat Sep 8, 2017

Contributor

There can be no tech without people, but there is definitely people without tech. I'd like to imagine this isn't a controversial thing to say, but we do exist in an industry that puts humans on death marches on a regular basis so... shrug

Contributor

zkat commented Sep 8, 2017

There can be no tech without people, but there is definitely people without tech. I'd like to imagine this isn't a controversial thing to say, but we do exist in an industry that puts humans on death marches on a regular basis so... shrug

@cronvel

This comment has been minimized.

Show comment
Hide comment
@cronvel

cronvel Sep 16, 2017

Hello!

So? Are you aiming for re-merging with Node, or are you moving on your own way?
If not (re-merging), will you maintain compatibility with Node or not?

cronvel commented Sep 16, 2017

Hello!

So? Are you aiming for re-merging with Node, or are you moving on your own way?
If not (re-merging), will you maintain compatibility with Node or not?

@oe

This comment has been minimized.

Show comment
Hide comment
@oe

oe Sep 16, 2017

Contributor

@cronvel we are currently maintaining compatability with node by merging from upstream fairly regularly. re-merging with node is currently way on the horizon, and so far it seems like it'll be unlikely (because of their inability to change anything about their organizational structure), but only time can tell!

Contributor

oe commented Sep 16, 2017

@cronvel we are currently maintaining compatability with node by merging from upstream fairly regularly. re-merging with node is currently way on the horizon, and so far it seems like it'll be unlikely (because of their inability to change anything about their organizational structure), but only time can tell!

@tniessen

This comment has been minimized.

Show comment
Hide comment
@tniessen

tniessen Sep 16, 2017

Contributor

because of their inability to change anything about their organizational structure

I would be interested in your suggestions for a better "organizational structure", I think we are always open to constructive input. Why do you think the project is unable to change its structure, despite its efforts to do so in a way which benefits the community? (See e.g. nodejs/node#15366, nodejs/TSC#339, nodejs/TSC#317 for examples of relevant changes within the last weeks.)

Contributor

tniessen commented Sep 16, 2017

because of their inability to change anything about their organizational structure

I would be interested in your suggestions for a better "organizational structure", I think we are always open to constructive input. Why do you think the project is unable to change its structure, despite its efforts to do so in a way which benefits the community? (See e.g. nodejs/node#15366, nodejs/TSC#339, nodejs/TSC#317 for examples of relevant changes within the last weeks.)

@sandfox

This comment has been minimized.

Show comment
Hide comment
@sandfox

sandfox Sep 17, 2017

@tniessen There has been much written both here in this thread, other github issues, discord, and https://github.com/ayojs/ayo/blob/latest/GOVERNANCE.md about what we think a better organizational structure might look like (and this is a topic that we continue to work on).
As for why nodejs seems unable to change, it's a bit outside the the scope of this project but this issue #7 is probably as good a summary as you'll find here.

sandfox commented Sep 17, 2017

@tniessen There has been much written both here in this thread, other github issues, discord, and https://github.com/ayojs/ayo/blob/latest/GOVERNANCE.md about what we think a better organizational structure might look like (and this is a topic that we continue to work on).
As for why nodejs seems unable to change, it's a bit outside the the scope of this project but this issue #7 is probably as good a summary as you'll find here.

@varjmes

This comment has been minimized.

Show comment
Hide comment
@varjmes

varjmes Sep 19, 2017

Contributor

I'm going to close this because I think the answer is "we are open to this if node fixes some pressing issues" and "we are maintaining compatibility, we will let you know if this changes".

As always, if I'm wrong on closing this, feel free to tell me / reopen it.

Contributor

varjmes commented Sep 19, 2017

I'm going to close this because I think the answer is "we are open to this if node fixes some pressing issues" and "we are maintaining compatibility, we will let you know if this changes".

As always, if I'm wrong on closing this, feel free to tell me / reopen it.

@varjmes varjmes closed this Sep 19, 2017

addaleax added a commit that referenced this issue Oct 26, 2017

test: allow tests to pass without internet
Currently when running the test without an internet connection there are
two JavaScript test failures and one cctest. The cctest only fails on
Mac as far as I know. (I've only tested using Mac and Linux thus far).

This commit moves the two JavaScript tests to test/internet.

The details for test_inspector_socket_server.cc:

[ RUN      ] InspectorSocketServerTest.FailsToBindToNodejsHost
make[1]: *** [cctest] Segmentation fault: 11
make: *** [test] Error 2

lldb output:

[ RUN      ] InspectorSocketServerTest.FailsToBindToNodejsHost
Process 63058 stopped
* thread #1: tid = 0x7b175, 0x00007fff96d04384
* libsystem_info.dylib`_gai_simple + 87, queue =
* 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
* address=0x0)
    frame #0: 0x00007fff96d04384 libsystem_info.dylib`_gai_simple + 87
libsystem_info.dylib`_gai_simple:
->  0x7fff96d04384 <+87>: movw   (%rdx), %ax
    0x7fff96d04387 <+90>: movw   %ax, -0x2a(%rbp)
    0x7fff96d0438b <+94>: movq   %r13, -0x38(%rbp)
    0x7fff96d0438f <+98>: movq   0x18(%rbp), %rcx

(lldb) bt
* thread #1: tid = 0x7b175, 0x00007fff96d04384
* libsystem_info.dylib`_gai_simple + 87, queue =
* 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
* address=0x0)
  * frame #0: 0x00007fff96d04384 libsystem_info.dylib`_gai_simple + 87
    frame #1: 0x00007fff96cfe98b libsystem_info.dylib`search_addrinfo +
179
    frame #2: 0x00007fff96cfafef libsystem_info.dylib`si_addrinfo + 2255
    frame #3: 0x00007fff96cfa67b libsystem_info.dylib`getaddrinfo + 179
    frame #4: 0x00000001017d8888
cctest`uv__getaddrinfo_work(w=0x00007fff5fbfe210) + 72 at
getaddrinfo.c:102
    frame #5: 0x00000001017d880e
cctest`uv_getaddrinfo(loop=0x000000010287cb80, req=0x00007fff5fbfe1c8,
cb=0x0000000000000000, hostname="nodejs.org", service="0",
hints=0x00007fff5fbfe268) + 734 at getaddrinfo.c:192
    frame #6: 0x000000010171f781
cctest`node::inspector::InspectorSocketServer::Start(this=0x00007fff5fbfe658)
+ 801 at inspector_socket_server.cc:398
    frame #7: 0x00000001016ed590
cctest`InspectorSocketServerTest_FailsToBindToNodejsHost_Test::TestBody(this=0x0000000105001fd0)
+ 288 at test_inspector_socket_server.cc:593

I'm not sure about the exact cause for this but when using a standalone
c program to simulate this it seems like when the ai_flags
`AI_NUMERICSERV` is set, which is done in inspector_socket_server.cc
line 394, the servname (the port in the FailsToBindToNodejsHost test) is
expected to be a numeric port string to avoid looking it up in
/etc/services. When the port is 0 as is it was before this commit the
segment fault occurs but not if it is non-zero.

PR-URL: nodejs/node#16255
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>

addaleax added a commit that referenced this issue Dec 7, 2017

test: allow tests to pass without internet
Currently when running the test without an internet connection there are
two JavaScript test failures and one cctest. The cctest only fails on
Mac as far as I know. (I've only tested using Mac and Linux thus far).

This commit moves the two JavaScript tests to test/internet.

The details for test_inspector_socket_server.cc:

[ RUN      ] InspectorSocketServerTest.FailsToBindToNodejsHost
make[1]: *** [cctest] Segmentation fault: 11
make: *** [test] Error 2

lldb output:

[ RUN      ] InspectorSocketServerTest.FailsToBindToNodejsHost
Process 63058 stopped
* thread #1: tid = 0x7b175, 0x00007fff96d04384
* libsystem_info.dylib`_gai_simple + 87, queue =
* 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
* address=0x0)
    frame #0: 0x00007fff96d04384 libsystem_info.dylib`_gai_simple + 87
libsystem_info.dylib`_gai_simple:
->  0x7fff96d04384 <+87>: movw   (%rdx), %ax
    0x7fff96d04387 <+90>: movw   %ax, -0x2a(%rbp)
    0x7fff96d0438b <+94>: movq   %r13, -0x38(%rbp)
    0x7fff96d0438f <+98>: movq   0x18(%rbp), %rcx

(lldb) bt
* thread #1: tid = 0x7b175, 0x00007fff96d04384
* libsystem_info.dylib`_gai_simple + 87, queue =
* 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1,
* address=0x0)
  * frame #0: 0x00007fff96d04384 libsystem_info.dylib`_gai_simple + 87
    frame #1: 0x00007fff96cfe98b libsystem_info.dylib`search_addrinfo +
179
    frame #2: 0x00007fff96cfafef libsystem_info.dylib`si_addrinfo + 2255
    frame #3: 0x00007fff96cfa67b libsystem_info.dylib`getaddrinfo + 179
    frame #4: 0x00000001017d8888
cctest`uv__getaddrinfo_work(w=0x00007fff5fbfe210) + 72 at
getaddrinfo.c:102
    frame #5: 0x00000001017d880e
cctest`uv_getaddrinfo(loop=0x000000010287cb80, req=0x00007fff5fbfe1c8,
cb=0x0000000000000000, hostname="nodejs.org", service="0",
hints=0x00007fff5fbfe268) + 734 at getaddrinfo.c:192
    frame #6: 0x000000010171f781
cctest`node::inspector::InspectorSocketServer::Start(this=0x00007fff5fbfe658)
+ 801 at inspector_socket_server.cc:398
    frame #7: 0x00000001016ed590
cctest`InspectorSocketServerTest_FailsToBindToNodejsHost_Test::TestBody(this=0x0000000105001fd0)
+ 288 at test_inspector_socket_server.cc:593

I'm not sure about the exact cause for this but when using a standalone
c program to simulate this it seems like when the ai_flags
`AI_NUMERICSERV` is set, which is done in inspector_socket_server.cc
line 394, the servname (the port in the FailsToBindToNodejsHost test) is
expected to be a numeric port string to avoid looking it up in
/etc/services. When the port is 0 as is it was before this commit the
segment fault occurs but not if it is non-zero.

PR-URL: nodejs/node#16255
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.