I thought this was interesting at first. An effort to push the JS environment towards standardization is a much needed initiative.
Then I saw the "initial projects" list.
"Appium, contributed by Sauce Labs, is an open source Node.js server..."
"Interledger.js, contributed by Ripple, enables instant payments and micropayments in any currency..."
"JerryScript, contributed by Samsung, is a lightweight, fully-featured JavaScript engine for Internet of Things..."
"Node-RED, contributed by IBM, is a flow-based programming environment built on Node.js..."
This made it very clear that the founding members of the "JS Foundation" are not interested in developing and promoting the best open source tools, those tools which are most deserving of broad adaption. To them, this is a way to promote their own tools. They aren't doing this for the good of the of JS ecosystem, they are doing it to push their own brands on developers.
Creator of Lodash here. From my experience the foundation is a pretty chill, hands off, non-profit. I sought out and voluntarily joined the Dojo Foundation early in Lodash's development (~2013). At the time the Dojo Foundation was the only JS foundation I knew of that was open to outside projects (the jQuery Foundation was really only for jQuery projects back then). Eventually the Dojo Foundation and the jQuery Foundation merged. It was great! Regardless of the name the foundation has proven valuable. Whether it's CLA management, PR bots, conduct reviews, representation at TC39, help with trademarks, licenses, legal, etc. they've always been friendly and more than happy to help. When possible they also hold events to educate and encourage new open source contributors which is pretty cool!
Did the jQuery Foundation have companies as sponsors? I am not familiar with how the jQuery Foundation functioned in the past. But I'm not really interested in the past--I'm curious about the future.
I apologize for not making it clear that my comment on pushing brands on developers was only in reference to the for-profit organizations; I assumed that would be self evident.
Since when has, as relates to the web, standardization above all else been a thing. The web's design was intentionally decentralized and has led to occasional Cambrian Era level explosions of features and tools, that simply manifest. If we "try" to make the next platform, we'll probably fail. If we keep on keeping on, and let it happen, we will certainly succeed.
Centralized, profit driven organizations certainly benefit from having a clear, standard road-map with which to direct their resource deployment so as to maximize return on investment. Their investment. Not to maximize community value.
Standardization of the web will be the death of the web. Building the web-browsers on standards has forced corporations to make their flavor of browser compatible with the world wide web, keeping them from making a proprietary www. But, to standardize a language is a whole other thing. Languages are best when they are maximally flexible, so they do not constrict one from expressing in the world what is currently only in one's imagination.
That is, in my opinion, why despite the crappy design of JavaScript it has been so successful. There are not many languages with less restrictions. Take that away and we'll have a whole bunch of Walmarts, all the same implementation of the same super efficient product with great user experiences for 98% of users. But as the web becomes the global commons, for an Earth with a population of 7.125 billion, well 2% is still 145 million people. So, if you want the perfect solution, the final answer, then standardization requires you to write-off those people, if you want to be intellectually honest about it.
That's a great attitude for the browser--and I completely agree that decentralization is important for the browser--but does your opinion here extend to server-side JS as well?
JS is a language, and my opinion is that languages should be maximally flexible. They must be maximally flexible because a language has the primary function of being the medium through which an individual might transmit their ideas. Since ideas are not limited, languages must not be limited. Server-side JS is still a language. Limiting the language will limit what can be expressed in that language. So, yes, I would say it extends to server-side JS. By simply moving expression upstream it does not change my opinion.
There is that saying, "The Medium Is The Message." The more restrictive the medium, the more restrictive, the more pre-defined, the message is by default. The less restrictive the medium, the less well defined is the default message.
except that we have many languages, each of which is designed for a slightly different purpose. It is generally more useful to have a wide range of single-purpose tools that can do one job very well, rather than a general-purpose tool that can do lots of things badly.
If you want an analogy, think of a knife. It can be used to cut things very well, but also serves as a really bad screwdriver, bottle opener, toothpick, tent peg, etc. Better to have a tool for each of these tasks than cut your thumb open mis-using your knife.
We maybe need one general-purpose language for trying new stuff out (and I'd argue that that language is actually LISP). The rest need to be single-purpose, designed to do a single job.
Javascript is designed to run in browsers, and recently to run on a server (mostly as a web server). Trying to write real-time systems (for example) in javascript is a bad idea; you can do it, but you will cut your thumb open and there are much better languages available to do it in.
I think the core point I'm trying to make is that programming languages are engineer's tools rather than artistic media. We use the tools to build the thing we want. Tell an engineer that the hammer is the thing being built and they'll tell you you're an idiot.
Are you suggesting for browsers to be sandboxed execution environments ?
Then it will be more like Java Applets or Flash applications, I think some restrictions have lead to better index ability(hyperlinks, search engines) , accessibility in web.
A better medium doesn't necessarily mean untamed or freer medium. If restrictions can create a medium which has better accessibility, then maybe they are not so bad.
I see a lot of comments here interpreting this as a push towards standardizing certain tools, yet I don't see anything on the site that suggests that is their mission, nor do I see any way they could possibly effect that kind of change.
There seems to be some kind of messaging problem in that we are reading totally different things into what this foundation is about.
Can you share why you think this foundation is trying to "push [any] brands on developers"? I just don't get it.
"By creating a center of gravity for the open source JavaScript ecosystem, the JS Foundation aims to drive broad adoption and ongoing development of key JavaScript solutions and related technologies and to facilitate collaboration within the JavaScript development community to ensure those projects maintain the quality and diverse contribution bases that provide for long-term sustainability."
This gave me the impression that they were focusing on standardizing tools (the "drive broad adoption" part especially).
As for "pushing brands on developers", well... You can't standardize and encourage broad adoption of a technology if you cultivate and support multiple technologies. Maybe two or three, but there is a need to champion a particular technology as the tool developers should adopt. And the JS Foundation seems to be specifically promoting tools of its members where it can.
Of course, if the interpretation that their goal is to encourage standardization is incorrect, then the point is moot.
Maybe I'm naive, but I didn't get this message either. Personally, I was happy to see webpack on the list. The only problem I've had since adopting it is figuring out best practices for edge cases. It's changed how I develop web apps (works awesome with Azure). Maybe if there was more collaboration I could learn how to use it better.
Pure speculation, but maybe some people see it as a last ditch effort to keep projects like jQuery relevant. I've run across a lot of negative opinions about it. I've known developers who will laugh if they see it in an app. I've seen some interesting uses where people import only specific functionality out of jQuery they want, cutting it way down. https://goo.gl/kWeIJe But honestly I haven't needed it for awhile now.
I don't think that qUnit, jquery*, or requirejs should be in the list of the tools we should be standardizing on today. Beyond that grunt and dojo are arguable. This looks like a list of mostly last-gen tools combined with a few tools that have kept up or still serve a purpose.
In the end, I just don't think it's a great list... webpack, moment, lodash, sure... but jQuery UI, really? I mean bootstrap is a bit long in the tooth today, but still very modern in terms of structure. lodash is setup in a way that you can pick only the parts you need/want... but a lot of these tools just aren't what you probably want to be using starting a project today.
After reading this comment, and given this is a rebrand of the jQuery foundation, I'm thinking the purpose of this may perhaps be just an effort to retain relevance by maintainers of outdated or waning JS tools.
Agreed, at least with webpack. My number one gripe with moment is that I have to shim it in when using webpack. It still expects to be added to global scope, just like jquery. I'd really like to find a modular version, or another project that has as much functionality.
Hello, date-fns author here (a Moment competitor). date-fns was designed for use with webpack, so unlike Moment it won't bloat your build with unused function. If you don't need IANA support, you'll love it https://date-fns.org/
Hi, the date-fns creator here. We don't have extended time zone support (IANA) and have much fewer translations. But all of that is in progress. Regarding date-manipulations date-fns combines all of the Moment functions and even more (that we found in other libraries; ~150 in total). Check it out: https://github.com/date-fns/date-fns
Then I saw the "initial projects" list.
"Appium, contributed by Sauce Labs, is an open source Node.js server..."
"Interledger.js, contributed by Ripple, enables instant payments and micropayments in any currency..."
"JerryScript, contributed by Samsung, is a lightweight, fully-featured JavaScript engine for Internet of Things..."
"Node-RED, contributed by IBM, is a flow-based programming environment built on Node.js..."
This made it very clear that the founding members of the "JS Foundation" are not interested in developing and promoting the best open source tools, those tools which are most deserving of broad adaption. To them, this is a way to promote their own tools. They aren't doing this for the good of the of JS ecosystem, they are doing it to push their own brands on developers.