# nodejs needs some of us



## ucomp (Apr 27, 2019)

I just happened to stumble across this:









						path to restoring FreeBSD to Tier 2 support · Issue #1791 · nodejs/build
					

What would have to happen to restore FreeBSD to Tier 2 support? Here's the tiniest of beginnings of a task list. Feel free to add to it. @nodejs/build Need a volunteer to do sys admin, troubles...




					github.com


----------



## PMc (Apr 27, 2019)

It seems to me there is more to this than to just collect some cannon fodder volunteers. But maybe I am wrong, so please enlight.

First question: _what is_ nodejs? When asking Wikipedia, I basically get bullshit bingo talk. So, what can be done with that piece?

I came across that matter because some of my software requires e.g. www/node as a prereq, and so I had to care about that port. But here with me, the rules are still: I can only use it if it also runs on i386. And node dropped that support a long time ago; it requires SSE2/+/whatever. I fought with that matter for a long time (as there are workarounds to get the piece working nevertheless), but gave up on it recently, because, my specific requirement is not to cope with this node thing, it is just the dreaded "V8 library" itself (which seems to be the underlying thing). And so I ventured into the matter: how do I get that V8 piece to somehow build here - but this is at least as big a PITA. When I tried to natively build some recent version of it, I found, that thing is simply not provided for FreeBSD - it is not provided for any unix at all!! It is only provided for Linux and that half-swallowed Apple (okay, formally we may call that one a unix).

I think I mentioned that somewhere here, but, no reaction, as usual.


----------



## ucomp (Apr 27, 2019)

PMc said:


> _what is_ nodejs?



sorry, but  nodejs-team didn't ask for our (users-) -questions but for our developers- answers


----------



## drhowarddrfine (Apr 27, 2019)

PMc Node can be thought of as high speed javascript, due to the V8 engine from Google, that can run on server hardware, as a server, and has better ability to communicate with a browser with the convenience of running javascript on both ends.


PMc said:


> what can be done with that piece?


Quite a bit and it's used quite a bit. Virtually all credit card transactions online by anyone but the biggest commerce sites use a payment processor that uses node, such as Stripe, PayPal and Braintree, but it's much more widely used for other things, too.

Unfortunately, too many use it cause it's easier than putting together a proper client/server project and some will even say it's a replacement for that. I beg to differ.


----------



## ucomp (Apr 27, 2019)

drhowardfine, it is very *fine* of you to answer questions accurately. 
But this thread  is actually about to point out that nodejs can only provide support for FreeBSD if there are contributions from here from developers who are willing to regularly provide (in particular) builds for FreeBSD .


----------



## PMc (Apr 27, 2019)

drhowarddrfine said:


> PMc Node can be thought of as high speed javascript, due to the V8 engine from Google, that can run on server hardware, as a server, and has better ability to communicate with a browser with the convenience of running javascript on both ends.
> 
> Quite a bit and it's used quite a bit. Virtually all credit card transactions online by anyone but the biggest commerce sites use a payment processor that uses node, such as Stripe, PayPal and Braintree, but it's much more widely used for other things, too.



Okay, on occasion I may look into that, find out why my software needs it and find ways of making it fit my purposes.
But, the general impression from Your description is: this software is mostly of interest to commercial people, i.e. those interested in making money.
So, it might be unwise to put effort into that issue, because one might finally end up singing:
_"Gott weiss, ich war ein Trüffelschwein."_​


----------



## ucomp (Apr 27, 2019)

PMc said:


> _"Gott weiss, ich war ein Trüffelschwein."_​



Even the subproletarian class of software developers sometimes needs to earn some money to continue to provide free software for  you  
However, it is a pity that in this forum often the important topics are missed.
nodejs is looking for developers for nodejs support under FreeBSD. *So, who is ready to contribute? *Even 1 "lonely" developer can make difference , but has to be available for their (nodejs) communication-channels.


----------



## PMc (Apr 28, 2019)

ucomp said:


> sorry, but  nodejs-team didn't ask for our (users-) -questions but for our developers- answers



Alright, let me make one thing clear for You:

I preferred to reserve the term "developer" to a very selected group of people which I highly admire - beginning with Dennis, Brian and Ken (definitely also Seymour Cray) and in more recent days for instance Kirk&Eric - and certainly some more with similar qualities.
Those are people, who, if the need arises, might build a computer, from the raw silicon stuff all the way up to best-working software; but most important: they didn't do it for the greed, they did it for the passion.

What nowadays tends to be called "developer", especially under the "agile" aegis - well, politeness forbids me to say what I think about these tendencies.

The general term of inhowfar FreeBSD preferres to separate between "developers" and NPC's I have offered to discussion at another place.



ucomp said:


> Even the subproletarian class of software developers sometimes needs to earn some money to continue to provide free software for  you



Do what thou wilt shall be the whole of the law.

If those developers dont want to write software, I simply have to do it on my own. No problem with that, been there already: when I learned about the Internet in 1987, and figured that I need access to get to the most relevant information about some seriously arcane subjects, I had to write LOTS of things on my own, because there was practically nothing available, and even less would it run on some hardware I could possibly obtain, and under the conditions I could arrange for.

You got the wrong sparrings partner, dude.


----------



## ralphbsz (Apr 28, 2019)

PMc said:


> But, the general impression from Your description is: this software is mostly of interest to commercial people, i.e. those interested in making money.


For NodeJS, that might be 99.9% true, in the sense of: 99.9% of all CPU cycles used in NodeJS are being used in for-profit enterprises.  But nearly the same statement is true for all software.  I would make an educated guess that you if add up all the supercomputers, the server farms of the big internet companies (FAANG or whatever the acronym du jour is), and all the computers used as servers and desktops in corporations, that this accounts for at least 99% of all computing.

So now think of Kant's categorical imperative: What would  happen if everyone acted like you, and refused to develop FOSS software that is mostly of interest to commercial people?  Then there would be no FOSS software.  This is particularly poignant for *BSD software: For Linux and other software that is under the GNU (L-)GPL license, a commercial entity that ships a product based on modified source code has to at least re-release the modified source code.  In the case of the BSD license, that is not even necessary: a commercial company (like Netflix, Jupiter or NetApp) can take the BSD source, modify it, incorporate it into their product, and they have no obligation whatsoever to the FOSS community.  So being against commercial use of software is a bit extra nonsensical in the BSD world.

You are free to make your own decisions on what you want to invest your time in.  But if everyone followed your example, then FreeBSD would be a weaker operating system, because there would be no NodeJS for it.


----------



## ralphbsz (Apr 28, 2019)

PMc said:


> Dennis, Brian and Ken (definitely also Seymour Cray) and in more recent days for instance Kirk&Eric


Dennis is dead.
Brian is a professor at a big university, and has been for quite a while.  He hasn't develop software in ages.
Ken went to work for Google for about a decade.  I suspect he might be retired now, I'm not sure.  I have heard that he used a Chromebook as his computer recently.
Seymour Cray worked on for-profit companies all his life, building faster and faster (and more and more specialized) computers.  He died while still working, and never retired.

Their successor as grand man of the Bell Labs OS research group was Rob Pike.  He now works for Google, developing the Go language (which is in some aspects C++ done right, but also shares interesting characteristics with NodeJS), and last I heard uses a Mac as his computer.

I don't know who you mean by Kirk and Eric.  There are quite a few folks with that name.



> ...who, if the need arises, might build a computer, from the raw silicon stuff...


None of these people (with the exception of Cray) ever dealt with raw silicon stuff.  They left the building of the computers to experts.  They did research on languages and operating systems.



> ... all the way up to best-working software;


That is at least very debatable.  The early Bell Labs versions of Unix were not very usable by either today's standards, nor by the standards of computer usage of that day.  The same applies to the C and C++ languages.  They only started their inexorable march to victory once the researchers (at Bell Labs and elsewhere) handed control and development to commercial entities, which added all the stuff to make them actually useful.

Now, don't get me wrong: Multics and Unix and Plan9, and C and C++ (and Java and Go) were great leaps in systems research.  The folks who worked on them were (and in some cases still are) geniuses.  I'm very honored to have met a few of them personally.  But they were not great software engineers, nor great strategists for the computer industry.


----------



## PMc (Apr 28, 2019)

ralphbsz said:


> For NodeJS, that might be 99.9% true, in the sense of: 99.9% of all CPU cycles used in NodeJS are being used in for-profit enterprises.  But nearly the same statement is true for all software.  I would make an educated guess that you if add up all the supercomputers, the server farms of the big internet companies (FAANG or whatever the acronym du jour is), and all the computers used as servers and desktops in corporations, that this accounts for at least 99% of all computing.



Hm, yes, maybe. I try a different approach: there are people who obtain money with their computers, and there are other people who have to pay to use computers. I would rather feel solidary with the latter, as the former already get their benefit.
But my initial question had a completely different ambition: to find out if I can construct some use-case (even if it is a fake one, as many of mine are) to have fun with that piece of software. Because only if that can be done, I might get interested in seeing to it that it runs well on FreeBSD. And that thing was already sitting on my systems for quite a while, and it is one of the few pieces where I don't know what it does in detail - and I might probably grab a chance to change this.
But ucomp has got this into some completely different throat.

And then, pieces that are mainly targeted to commercial use have a tendency to be boring, and no fun to play with. (E.g. postgres is the AFAIK only RDBS that is really fun.)

[I have to think awhile about Your second part of text.]


----------



## ucomp (Apr 28, 2019)

PMc said:


> .....
> You got the wrong sparrings partner, dude. ...
> ....But @ucomp has got this into some completely different throat.


 ucomp opened this thread to tell developers(even old bags like you   exactly that what ralphbsz wrote :


ralphbsz said:


> You are free to make your own decisions on what you want to invest your time in.  But if everyone followed your example, then FreeBSD would be a weaker operating system, because there would be no NodeJS for it.


----------



## PMc (Apr 28, 2019)

ralphbsz said:


> Dennis is dead.
> Brian is a professor at a big university, and has been for quite a while.  He hasn't develop software in ages.
> Ken went to work for Google for about a decade.  I suspect he might be retired now, I'm not sure.  I have heard that he used a Chromebook as his computer recently.
> Seymour Cray worked on for-profit companies all his life, building faster and faster (and more and more specialized) computers.  He died while still working, and never retired.



Seymour was talking to the Elves. Thats where his input came from.

And thats quite an interesting point. I don't think it matters much what these guys did before or after. I think it matters most that they were at the right place at the right time, and did something, maybe only once-in-a-lifetime, that really matters: to bring down something that exists only in the mind, an idea or vision, into something materialized; to be capable (by means of throughput) to channel that idea down and (by means of skill) pronounce it into something tangible. This is how visions become reality, this is how mankind evolves - and these are often one-time achievements and sometimes they may not even reach their true value during the lifetime of the creator.
In the case of unix, the achievement was to bring down the idea that a fully capable OS (i.e. multiuser, multitasking, timekeeping, filemanaging) can be created with the limited ressources of a mini. This led the way onwards, away from the concept that computers need to be big centralized things. Only from this point onwards the Internet-of-Things became already visible.

The achievement is NOT to build a perfectly functioning product, the achievement is to materialize the vision in a way that the further path becomes visible from there. It is not about usability; it is much more like _giving birth_ to something - and it is totally unrelated to marketability. (Our language knows about that, it idiomatically talks about the "hour or birth" of major achievements.)



> don't know who you mean by Kirk and Eric.  There are quite a few folks with that name.



Well, BSD Kirk (McKusick) and sendmail Eric (Allman). 
(The latter's team managed once to actually get my bugfix into head within less than 24 hours. On other projects I occasionally had to discuss about the definition of "bug", for a year or longer.)



> That is at least very debatable.  The early Bell Labs versions of Unix were not very usable by either today's standards, nor by the standards of computer usage of that day.  The same applies to the C and C++ languages.  They only started their inexorable march to victory once the researchers (at Bell Labs and elsewhere) handed control and development to commercial entities, which added all the stuff to make them actually useful.



That depends a lot. I learned C from the original work of Kernighan/Richie and found it a very practical and delightful way to design a macro assembler: it was fun to build hardware and then have such a tool to talk to that hardware.



> Now, don't get me wrong: Multics and Unix and Plan9, and C and C++ (and Java and Go) were great leaps in systems research.  The folks who worked on them were (and in some cases still are) geniuses.



Thats what I'm saying.



> I'm very honored to have met a few of them personally.  But they were not great software engineers, nor great strategists for the computer industry.



The question is, why would I need the latter? When it comes to the industry, it just wants to reduce me to a functioning consumer, and preferrably one that buys rather stupid things. (The only thing that was commonly regarded as positive in this was that the computers become cheaper and more powerful in the process of marketing bad software.)

This now leads back to Your former post. I don't really know why the BSD licence is as it is. I might assume a reason in the fact that it is originally a product of an university, i.e. community (taxpayer) funded.

I also don't know what kind of opinion the FreeBSD community prefers to have about the industry. My own opinion is not very positive: the industry tends to prefer the most marketable thing over the technologically best, and the market is easily deluded. One could garnish this with any of the Dilbert clips; they perfectly depict the reality of business. What is desireable in such? It's just a ship of fools.


----------



## drhowarddrfine (Apr 28, 2019)

ucomp He didn't know what node was used for and, by implication, might lead some to wonder why one should dedicate their time to continue making it work on FreeBSD. My post gave some reasons.


----------



## ucomp (Apr 28, 2019)

drhowarddrfine said:


> ucomp He didn't know what node was used for and, by implication, might lead some to wonder why one should dedicate their time to continue making it work on FreeBSD. My post gave some reasons.


as you can read above today he's got really other problems than nodejs-FreeBSD-support  , but maybe he could be one interesting developer if he would discuss politics on other places, I don`t know...


----------



## justinnoor (Apr 28, 2019)

ucomp said:


> path to restoring FreeBSD to Tier 2 support · Issue #1791 · nodejs/build
> 
> 
> What would have to happen to restore FreeBSD to Tier 2 support? Here's the tiniest of beginnings of a task list. Feel free to add to it. @nodejs/build Need a volunteer to do sys admin, troubles...
> ...



Thanks for sharing


----------



## aragats (Apr 28, 2019)

ucomp said:


> nodejs is looking for developers for nodejs support under FreeBSD. *So, who is ready to contribute? *Even 1 "lonely" developer can make difference , but has to be available for their (nodejs) communication-channels.


I bet, spreading this info via mailng lists will be much more fruitful.


----------



## ucomp (Apr 28, 2019)

aragats said:


> I bet, spreading this info via mailng lists will be much more fruitful.


that's a very tough judgment on this forum 
I only use the mailing-lists when I am a project contributor myself.
I found this comment very realistic:








						path to restoring FreeBSD to Tier 2 support · Issue #1791 · nodejs/build
					

What would have to happen to restore FreeBSD to Tier 2 support? Here's the tiniest of beginnings of a task list. Feel free to add to it. @nodejs/build Need a volunteer to do sys admin, troubles...




					github.com
				




He says : "If you like FreeBSD, then there's a good chance you're a bit of a systems nerd and you might even enjoy the work we do around here across many systems." .... then I'm sure it could easily raise in status.

So,aragats , what do you think as a developer ? Should we team up  ?
or is this forum just good for copying and pasting things that have been in the FreeBSD-Handbook for years?


----------



## Anand Suresh (Sep 26, 2019)

Is this still a thing? Has someone started working on this or is looking for a collaborator? I'd be happy to assist.


----------



## drhowarddrfine (Sep 26, 2019)

Anand Suresh  I won't read through this thread again so I don't know what the "thing" is but, just yesterday, I started a new project using node and express and installed both without any issues whatsoever.


----------



## Anand Suresh (Sep 27, 2019)

I reached out to the node.js team and from the initial conversations, it sounds like they need some FreeBSD folks to assist with building/testing node.js on different versions of FreeBSD. Starting from node.js v12, FreeBSD has been dropped from Tier 2 to Experimental support because there are one or more failing tests and not enough active developers on the platform.

I'm actively working on building a new production stack on Google Cloud running FreeBSD 12 and Node.js v8 in production, with a future upgrade to v12 once it is promoted to LTS. If anyone has any interest in collaborating, feel free to get in touch with me.


----------



## rigoletto@ (Sep 28, 2019)

Anand Suresh,

I suggest you to bring the topic to some FreeBSD mail list or IRC channels (where the devs hang), there are very little developers on this forum.


----------



## rigoletto@ (Sep 28, 2019)

While here, point to Ocsigen.


----------



## Anand Suresh (Sep 28, 2019)

rigoletto@ Any suggestions on which lists/channels I should target?


----------



## rigoletto@ (Sep 28, 2019)

Not really. I would start with #FreeBSD at Freenode, and/or  "freebsd-hackers" or "freebsd-questions" mail lists.


----------



## Barney (Feb 14, 2020)

Says something about the developers that they're still using clunky mailing lists in 2020 instead of a well organized community. Do they even know about javascript?


----------



## PMc (Feb 14, 2020)

Barney said:


> Says something about the developers that they're still using clunky mailing lists in 2020 instead of a well organized community.



Well, actually they do withdraw into well isolated communities (NOT related to this specific piece of software). I notice that by not being able to reach them in any way, and by ready-made fixed for identified bugs being strictly ignored.
(I'm not sure if the thereby intended reaction is to become a customer of that MakeMoneyFast corporation which happens to run the "community".)


----------



## dvl@ (Dec 14, 2020)

Yeah... that's the way to get help....

How do you get www/node running as a server? That's what I've come here to learn.


----------



## drhowarddrfine (Dec 15, 2020)

Barney said:


> Says something about the developers that they're still using clunky mailing lists in 2020 instead of a well organized community.


It keeps the riff-raff out.


----------



## drhowarddrfine (Dec 15, 2020)

dvl@ said:


> How do you get www/node running as a server?


It's easy to do and, when I wake up more, I'll post an example.

EDIT: Well, here's an example that's good enough.


----------



## SirDice (Dec 15, 2020)

Looks like it's similarly done as Python's Flask or Ruby's WEBRick.


----------



## dvl@ (Dec 15, 2020)

www/flask does that as a separate python app, as opposed to a `rc.d` script invoking `daemon`.


----------



## dvl@ (Dec 15, 2020)

drhowarddrfine said:


> It's easy to do and, when I wake up more, I'll post an example.
> 
> EDIT: Well, here's an example that's good enough.


That too is a separate program.

Does someone want to write and test the program which starts `node.js`?  If so, I'll write and commit the port which installs and runs it.

Why? Because I want this at work.

Or, it might be sufficient just to take that example and put it into files/node and have that be our rc.d script. It would be better as a small separate project.

BBS, I'll ask around.


----------



## drhowarddrfine (Dec 15, 2020)

Maybe I'm misremembering but node does not run by itself and must be used by an external javascript program as shown in my link. I always had to start my programs first which called node like a library.


----------



## SirDice (Dec 15, 2020)

I think it's going to depend if you want to run your node.js application as a daemon or specifically as a web service. I can image some node.js app just running in the background handling files or something similar without the need for a web interface. As it's rather difficult to predict how future node applications are used it's going to be difficult to make a "generic" service handler for it. 

Similarly you can create a daemon or web application in Perl, Python or Ruby but none of these languages provide a rc(8) script. Basically, the service start scripts belong to the specific application, not the language handler itself.


----------



## fscorrea (Dec 23, 2020)

> the general impression from Your description is: this software is mostly of interest to commercial people, i.e. those interested in making money.
> So, it might be unwise to put effort into that issue


Agreed.



> Even the subproletarian class of software developers sometimes needs to earn some money to


eat, live, pay the bills. Yet, every time I heard that I ask myself: I'm a Computer Scientist. I do understand why a business person would relate with and care for market issues and, as the title suggests, these people should know well why do I care *science* first and foremost. Yes, of course we disagree: our *very essence* are not the same. Core of our beings. Still, we can understand and be polite with each other, but, like I said, I have to ask:

*What is wrong with being a CS and running a bakery??*

I'd make my livings and have no need to bend under market demands. Why everyone arguing that point always do it as if we had to make money out of computers and nothing else? I could very well be a farmer, public officer... or have a bakery.

(BTW, I don't have a bakery: I'm climbing the path to earn my livings as a Professor while doing research --- people so often forget that's an option too)



> However, it is a pity that in this forum often the important topics are missed.


Whether a topic is important or not sounds like a personal matter to me, rather than something objectively measurable without first agreeing upon criteria --- which, of course, ain't likely to happen.



> What nowadays tends to be called "developer", especially under the "agile" aegis - well, politeness forbids me to say what I think about these tendencies.


Import, Call, Import, Call, Import, Call... until you develop the final product, or a very strong headache. See? Developers either way.



> (...)think of Kant's categorical imperative universality test(...)


What you described wasn't the imperatives themselves, but the procedure employed on testing maxims so that they're made a categorical imperative or not.
Not that I think it matters anyway, for Immanuel Kant was a genius in epistemology but not that much in ethics --- where belongs all those categorical imperative/universality stuff, I'm not a fan of deontological ethics myself.



> pieces that are mainly targeted to commercial use have a tendency to be boring, and no fun to play with.


Not to mention manysometimes way worse than "boring"...



> the industry tends to prefer the most marketable thing over the technologically best, and the market is easily deluded


Now apply this to the Universality Test and we'll get a world lacking science, proper emphasis on it, therefore with a plethora of trouble (even SarS-CoV-2 perhaps?).

Ucmp all that being said, I think I got your point: this thread was meant to anyone willing to help, not so much to discuss the topic.
I can't speak on PMc behalf but, whereas I find your effort laudable, I'm not sure the community is that interested in the issue at hand.

To my personal evaluation, FreeBSD still tops the list, on par with Solaris maybe and only. Notice the devs make effort as wide as possible to be more accessible and flexible. However, sooner or later, choices will be made regarding what is wanted as wanted, and what is considered priority. There is no free-lunch. And I may be wrong about this, but NodeJS is hardly a priority in this sense. Rather, it is something they really care to make do and work the best way possible. As part of that widening, but not as a top priority. And AFAIK there's the issue of NodeJS being not part of system itself.

Yes, we may disagree with some points, but doesn't mean I tried to belittle or discourage you. Just remind you of that points. NodeJS ain't entering *my* system anyway, I see no reason for nitpicking around.

Well, that's a fairly old thread and I have no idea of how things are going but wish you good luck (but think about the bakery).


----------

