A lot of folks have debated whether there is a need or a place for a "Rails for Node" platform that brings together a set of blessed libraries that work well together and a set of tools for rapidly building software with that set of tools. In that sense at least, Electrode seems to have some structural similarities to Rails.
Do you see Electron as potentially having a Rails-like role of bringing together libraries and packages into a more "plug and play" development environment for people who want buy in to comprehensive Node development platform?
Internally, we do have a set of blessed libraries to keep the site and teams unified. To ensure we don't go stale, we usually have a team or so experimenting with something that we can bring into "Electrode Core".
Externally, for the "Electrode Core", we will continue to maintain a set of libraries that play well together, but I expect to see people doing their own thing. I see what we are doing with core as more of a jumping off point for your app and setting you on the right path for managing many apps/components (with our notion of archetypes that manage your dependencies instead of top level app) and than people will mix technologies that they want.
We will continue to maintain our list though and manage dependencies through archetype (I think archetype is a powerful idea).
"Electrode Modules and Electrode Tools" are independent to the rest of Electrode. You can use these modules/tools independently of Electrode Core.
I'll grant this is a subtle point, but why did you choose to use the word "archetype", borrowing a term to describe what most understand to be generated boilerplate code? Why not call it a framework, or an app generator? Why did you, collectively I will assume, choose to assign a new term to an existing concept?
The archetype terminology comes from the use of Builder; you can get a rundown of what an archetype really is here, independently of its usage in Electrode: https://formidable.com/open-source/builder/
Framework and app generator are really quite far off from what an archetype provides. An archetype is like an npm module template, but not one that is used to generate code files and then discarded, but more like a live "superclass" of a module; think inheritance but for npm modules.
The basic idea is that if you have dozens or hundreds of similar modules (for, say, React components), with similar build + testing needs, you can use the same archetype for all of them. A generator like yeoman could spit out boilerplate for you, but then what if your boilerplate changes? Your packages quickly get out of sync with your latest best practices. Having some components on Babel 5 and some upgraded to Babel 6, for example, was a real pain. You have to go through your dozens of packages and bring them up to date. Archetypes on the other hand are intended to be encapsulated boilerplate that packages basically "inherit" from at runtime.
That was really well crafted, thank you. Much easier to digest than some of the docs. Though, I'm still not convinced it warrants a new way of describing a collection of patterns for various concerns, e.g. a framework.
However I don't see these projects getting any sizable traction from the open source community. What's the point of releasing them if WalmartLabs isn't putting any investment into marketing to developers in order to get these projects to grow in adoption?
I think that WalmartLabs is investing in OneOps and investing into marketing it to developers. I know our OneOps folks have been at the OpenStack conferences recently and are doing their best to engage with the community.
Regarding Electrode, we will do our best to market to developers and grow adoption. I'll be at multiple conferences in the coming months, have talked in meet ups, writing blog posts to go more in-depth. I'm not in marketing or PR though, so any tips are always appreciated :).
I have a quick unrelated question. Why is Walmart.ca contracted outside if you have walmart labs? Well at least the front-end. Hope it's okay to ask you that.
Your question is completely fine to ask, but I unfortunately don't know the answer, sorry.
On a side note, just fun info, I know that Walmart.ca will be moving to electrode eventually, we don't have a date on the roadmap yet. We've built Electrode to be able to reuse the same components while maintaining a different brands styles, content, etc
Do you see Electron as potentially having a Rails-like role of bringing together libraries and packages into a more "plug and play" development environment for people who want buy in to comprehensive Node development platform?