Skip to content
This repository has been archived by the owner on Aug 31, 2018. 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
Closed

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

Fishrock123 opened this issue Aug 22, 2017 · 25 comments

Comments

@Fishrock123
Copy link
Contributor

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
Copy link
Member

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
Copy link
Contributor Author

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
Copy link
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
Copy link
Contributor Author

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

@varjmes
Copy link

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
Copy link
Contributor

styfle commented Aug 25, 2017

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

@addaleax
Copy link
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.

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

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
Copy link

csvan commented Aug 25, 2017

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

@zkat
Copy link
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
Copy link

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
Copy link
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.

@Fishrock123
Copy link
Contributor Author

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
Copy link
Contributor Author

@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
Copy link
Contributor

aqrln commented Aug 26, 2017

@Fishrock123
image

@sudocurse
Copy link

@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
Copy link

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
Copy link

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
Copy link

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
Copy link
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
Copy link

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?

@ghost
Copy link

ghost 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
Copy link
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.)

@sandfox
Copy link

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
Copy link

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 as completed Sep 19, 2017
addaleax pushed a commit that referenced this issue Oct 26, 2017
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 pushed a commit that referenced this issue Dec 7, 2017
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.
Projects
None yet
Development

No branches or pull requests