DEV Community

Adam Crockett 🌀
Adam Crockett 🌀

Posted on

Open Source needs to change.

The problem with development in general is the shear amount and need for division ➗ not that division!

You know the meme,

There are n competing standards we must fix this, there are now n+1 competing standards.

The problem I see is that similar projects hardly work together, I feel thier should be a licence or a set of licences which state that on the eve of each yearly quarter, all sources from similar projects signed up to such a licence should benchmarks units of code and the best implimentations are taken and distributed... But hang on that would mean that the two projects (or more) should then end up with the same code? Yeah that's right so maybe they should just merge together, yes...

Okay my silly idea is just that, silly, however who is monitoring the similarity index, who will put an end to the meme, there must be a tool or way to systematically stop the repetition and madnesses? Can we create a.. sigh standard way of describing features which can be accountable?

Top comments (8)

Collapse
 
sroehrl profile image
neoan

While I understand the comfort standards provide, there is always a point we shouldn't forget: Innovation.
What seems like chaos is the democratic principal of "exchange of ideas". Some of the "non-standard" approaches will prevail if their advantages can be shown.
This happens all the time without people realizing it.
In the js-world, for example, the first AngularJS broke with imperative construction and ultimately started the declarative approach. This would not have been possible by adhering to standards.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

There are a lot of things in nature all evolving into crabs and crab like things. Not all could be classified as crab, but classification is something we still attempt to do. I think if nature knew the ultimate animal, it would probably evolve that... But evolution works by specialisms of environment right? There is always going to be a perfect animal per environment. Open source projects do follow that survival of the fittest model but seldom improve off of the back of another because there is a lack of ability to discover great solutions already handled by predecessors. Anyway it's an interesting comparison. I want spark a movement to provide a platform or license that somehow makes it easier to find the best code and easily integrate that code cross projects.

Collapse
 
sroehrl profile image
neoan

Yes, I understand. My remarks did not discredit your idea. And I am curious on how you suggest something like that will look like. At the same time, I have doubt if that would ever be possible. The reason I mentioned is just one of the hurdles I could think of that would prevent adoption of such a system. A way more complex topic to cover would be compatability between said standards.

Collapse
 
arsalakhan profile image
Arsala Khan • Edited

Hi Adam, I can tell you've thought about this and I agree with your sentiment. This is an area I'm passionate about since

  • I've been implementing OSS solutions in a third-world environment recently and there's been no way to tell if the solution I'm using is the best one out there or if it's just because I happened to know of them.
  • I think engineering hours are valuable and if put towards the right projects, can catalyze better progress throughout the world.

I'd love to speak more about this and possibly brainstorm standards or licenses with you. You can use meet.grey.software to find a convenient time for you :)

BTW on line 6, I think you meant there instead of their :)

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Hi Arsala,

We all get the sense, that fear of the reinvented wheel, often as was expressed in the comments, "innovation", gives us the reason to break from standards the falasey that nobody can tell if they have just inovated a pre-existing standard, as you say, without prior knowledge. I think discovering the dead projects and living projects will prove this to be true, birth good ideas and educate authors.

I think this could be a project to start a platform to help authors find similarities between other projects and I suppose it could be defined by a configuration file features.json

Beyond this, I think we would need a lot of contributors and some really good ideas.

Collapse
 
adam_cyclones profile image
Adam Crockett 🌀

Ps I can't spell

Collapse
 
cubiclesocial profile image
cubiclesocial

GitHub encourages similarity via forks.

You could just do what I do: I write my own software. The more third-party dependencies you have, the more likely it is that your software will break at unexpected times in unexpected ways. If you own your own software, then you minimize the opportunities for breakage that can and will occur. Doing my own thing is the main reason why I can ignore most of the stuff that happens out there including the deluge of low-quality software.

My own mantra: CubicleSoft software works with CubicleSoft software and therefore will not conflict with CubicleSoft software. Sure, it takes slightly longer to build an application, but I own the software, know how it works, and can make whatever changes I need to make for my needs. With over 80 repos at my disposal spanning virtually every major topic of web and application development with very few third-party dependencies, I don't need to bring in third-party software except on very rare occasions.

Collapse
 
dansilcox profile image
Dan Silcox

Hey I know, why don't you create a new license for that and then we'd have... oh wait :D

Despite my sarcastic humour I agree there are way too many similar but different things floating around. I like the concept PHP eventually used - the PHP Standards Recommendations or PSR - but it seems not all frameworks/libraries are actually implementing as per these standards, so you still end up with the N+1 problem :(