3 ms·
Speaking of controversial: I think things are going to keep being bad until developers realize that the problem isn't technical, but rather economic. Back befo
by TimJYoung 11y ago
Speaking of controversial: I think things are going to keep being bad until developers realize that the problem isn't technical, but rather economic. Back before the current "give it all away for free" trend became a thing, commercialization of software was a given and allowed "winners" to emerge from the chaos. The merits of the "winners" isn't important here, it's the stability that comes with it. As long as everything is given away for free and there are no barriers to entry, you'll keep ending up with chaos and unmanageable churn whereby your job as a software developer has now morphed into a software tester/evaluator for every single piece of functionality that you need and don't want to write yourself.
When you have to actually put your money on the line and have an actual business presence on the web, it's a completely different mindset from "I'm going to write this small library and pop it up on GitHub for free, so who cares if there's documentation or if the software even works as described". The fact that there are developers that are professional and thorough and still give away their software is a minor miracle. But, it's not wise to count on the charity of such developers for the long-term because it isn't realistic. As more and more one-offs are created, it becomes much harder to distinguish one's software from the rest of the pack, so developers will simply not even attempt to do so. The Apple store is a perfect example of this problem.
- EvanPlaice 11y agoSo look at the projects that stand for a higher degree of quality and hire the developers that author them so they can invest the time to battle test the code. Since we're talking from an economic perspective. Whoch is more cost (ie time and money) effective. Tasking an internal developer with no domain knowledge to build a module from scratch to cover similar functionality of an OSS project. Or hire an OSS dev who already has a deep understanding of the domain as well as working code to battle test the existing OSS implementation. If you're talking in terms of risk, the latter is an easy sell. The problem is, most companies are too concerned with building a stable of 'rockstars' that can support their pathological adherence to NIH (Not Invented Here) syndrome. I'd argue that the most successful companies already use this strategy. Select exceptional devs from the OSS community to build hogh quality tools as open source projects. The community battle tests the tools and accelerates the discovery of new and useful capability. Meanwhile, the company leverages the tools internally to compose their own proprietary platform in the form of domain-specific applications and services. The major disconnect is, most software based business want to have their cake and eat it too. It's not difficult to determine when an OSS project reaches enough success to transition from one-off to mass appeal. OSS is an ecosystem of brutal software darwinism. Projects that survive experience growth in usage and improvement over time. Projects that don't, stagnate and remain or eventually become irrelevant.
- TimJYoung 11y agoThe problem is that darwinism keeps biting us in the ass. It simply is not a recipe for orderly transitions between older and newer technologies, which ends up costing companies more, not less. One of the primary issues is always: who wants to work for free on software that is 10-15 years old ? Nobody. So, unless the software finds a sponsor of some sort that is willing to pay developers to fix bugs, make incremental improvements, and other very non-glamorous chores, it's going to languish as soon as it falls out of fashion and/or the primary developers move on to something else. And, what small company that is not in the developer tools business is going to want to finance the ongoing cost of keeping such software working ? Not very many. I'm not saying that OSS shouldn't exist. What I'm saying is that OSS has serious effects upon how software is developed, and I don't think that these effects were taken as seriously has they should have been. Everyone saw "free", and it was game-over. There's a lot of good with OSS, but there was also a lot of good with commercial software that we seem to want to ignore. One of those good things was more stability.
- aikah 11y agoPeople use github because it's free hosting first and foremost. 99% of projects on github are never fetched or forked by third parties, let alone maintained, so i'm not sure about what you're complaining about. Are you complaining about people publishing crap on free hosting ? nobody forces you to use all that code.
- TimJYoung 11y agoI'm not complaining about anything. I'm trying to put forth a reason for why so many other developers are complaining about the constant churn in the JS tools ecosystem, and the immense amount of setup required to do even simple web apps. Judging by the downvotes, I'm guessing my opinions aren't very popular or I strayed too far off-topic. :-)
- aikah 11y ago> and the immense amount of setup required to do even simple web apps. This complexity is sold by people who are selling complex tools. I don't use Babel or Webpack because it is not necessary. I usually try to remain framework free or use a framework that has a minimal complexity cost. You can write a complex application with jQuery , Angular 1.0 or Vue.js or even React in ES5 and it will not require any complex asset pipeline + build tool + 50 plugins in order to get started. As said earlier, in my opinion the only tools worth using are Typescript compiler and Bower for package management. I discarded everything else because I just don't want to spend my time in configuration files, it doesn't solve my issues or my client's issues. It's exactly like in the enterprise world in that aspect, where vendors try to sell businesses useless and complex solutions that will eventually get discarded when the insane cost becomes too apparent.
- TimJYoung 11y agoExactly which tools are being sold ? All of the examples that you cite are free, which kind of provides evidence for my idea that the complexity is being caused by the proliferation of the tools/libraries due to them being free.
- cgh 11y agoPython and gcc are free software too. Lots of stability in the world of Python and C. Hopefully you don't think free or open source software is somehow limited to the world of Javascript. Here's why there is so much churn in the JS world: everyone is attempting to polish a turd.
- TimJYoung 11y agoI don't think those two are good examples. They both had significant commercial ecosystem support, either in the form of a large company that pushed it (Google with Python) or in the form of other commercial compilers that promoted the ecosystem (lots of commercial C compilers over the years - MS, Borland, Watcom, Metrowerks,....).