• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

A little story

My opinion may be unpopular, but I strongly believe that for effective development some level of coordination is needed. A one man team does not need any, as he/she has perfect information, can set his own priorities, etc. As projects grow in size, this changes significantly.

There's a huge competition between cryptocurrencies, and the one with the fastest development team has a huge advantage. And when talking about "fastest", I mean the team that is able to translate real, top priority customer needs into software solutions. It does not matter if a UI bug or a typo is fixed, when a way more important bug is still in the software. And without any level of coordination, contributors to a project may focus their efforts on low priority things, which won't really push the project forward.
Also, more people might be working on the fix to the extact same issue. Or two conflicting solutions can be given to related issues, etc.

While there are definitely benefits of the environment described in crowning 's post, it might not be efficient. And if another coin does better in this regard, our advantage may start to shrink.

And before anyone thinks I'm defending the traditional project based approach - oh, I so don't. But there's a huge range of options between the waterfall model and GitHub's open allocation model. My belief is that some light (really light and fluid) management will increase our overall productivity. Build on the merits of the open source mentality described by OP, and add a thin layer on top of it to coordinate efforts.
Well said, I don't see how that could be unpopular... without some coordinated effort, chaos will ensue - the lunatics truly would run the asylum. I suppose the question is "What is appropriate amount and method of that coordination?"
 
Well said, I don't see how that could be unpopular... without some coordinated effort, chaos will ensue - the lunatics truly would run the asylum. I suppose the question is "What is appropriate amount and method of that coordination?"

Oh, I know the guy who will tell us the answer. He's called Trial and Error ;)
What we plan on is coming up with an idea based on our personal experiences, try it, then evaluate, adjust, try again. Keeping in mind that this is an open source community, which means happiness / joy should be a top priority, otherwise people will simply stop contributing. Hm, I think I have to reread Joy Inc. by Richard Sheridan.
 
No one's mistakes could be worse than this! :grin:

CNTLOYiWcAEEM_K.jpg:large
 
Outrage! You forgot the endless spinning wheel also known as technical support. Think about the indescribable pleasure users would get if developers only provided the program. Free/Libre software is more than the source. That single word stirs to the core :grin:

I have a bad memory, but I think it was the Onyx release. That's when everything started for me. Linux enthusiast > Virtualization > VPS > Dash... Accessible self-hosting and p2p [1] [2] [3]... Is there anything else to be said?
"Linux enthusiasts" used to scare me... And I "forgot the endless spinning wheel also known as technical support"... true! We also have this endless spinning wheel here... Maybe you can help out the next testing and tech support with your humor... Btw, i'm still trying to figure out what that comic page means. :tongue:
 
Over there I wanted to explain sergey461 how open source development works with a little story, but it got a bit lengthy so I decided to give it its own thread.

Here we go:
[ quote from there ]
------------------------------------------------------------------
Let me explain UdjinM6 's answer with a little story:

Last year I discovered Dash (Darkcoin back then). I liked the concept, the openness of its developer, and the fact that you could still mine it with a modest profit.
The base technology was quite advanced, a bit adventurous at times, but with a clear development direction, a fact which was lacking with my "main" coin at that time, Litecoin.
What I didn't like at all was that it was still using the original Bitcoin wallet, which was lacking a lot (feature wise) and looked rather un-sexy.
I decided to develop my own wallet. In Java, because that's the language I use in my professional "other" life.

After a couple of weeks and iterations of my wallet I gave up, mainly because the C++ codebase changed THAT much every other day that most of the time I had to catch up with Evan's changes instead of developing my wallet.

I didn't want to develop in C++ (I was quit good at C++ ages ago, but my last C++ project before switching to Java was back in 1996, so I felt too out-of-loop to contribute anything useful), so I started to post development requests over at the old Darkcoin Jira, which were liked by the community, but never got implemented. Not because Evan was too lazy or didn't like the ideas, but he had other priorities and a day only has 24 hours.

At some point I figured instead of bugging Evan every other day I could use that time to actually implement the stuff I wanted.

Requirements? Use cases? Someone to tell you what to do, and how to do it? Specification? Design?

Fuck it.

I want THAT button, HERE on this page, and it should do THIS and THAT. And I want it NOW.

I had to learn some minor things and tools I had never used before, though:
  • Github? What's that? How can I clone a repository? How can I create a branch? What's a pull request? Why do usable Git-GUIs always lack the functions I need but offer everything else? What's bigger, the number of stars of the known universe or the possible permutations of git command-line parameters?
  • Qt? Well, it's got an API with 1209 classes (YES, I've counted them. Twice!). First experience was that what you need is always in some other class, and the results were something which were almost, but not quite, entirely unlike what I wanted. Times operating systems it supports.
  • Boost library? Probably (I stopped counting somewhere) even more classes. Lots of them non-trivial. But a great toolset to solve problems. And an even greater toolset to create completely new problems, especially when you have no plan what you're doing.
  • Gitian? One of coolest tools I've ever seen. Wicked. I'm still undecided whether the guy who created it is a genius or completely nuts. Probably both. Not hard to set up if you have a week or two of spare time.
So I implemented my first feature request (dunno what it was. Probably something with a shiny button. Or fixed a string which was spelled wrong), made a screenshot of my changes and created a pull-request, and eventually it got merged into the main repository.

No release plan. No design papers. No meetings. Maybe a reply to the request with change proposals, or pointers where I messed things up.

Do.
Publish.
Discuss.

Not the other way around. In open source, when you start with the "discussion" part, almost always nothing will ever be done at all because everyone has an opinion, some even more. Too much time and nerves wasted in discussions instead of doing things.

What if you invested your time to implemented something and it doesn't get accepted? Live with it, life goes on.

Is this the best way to develop software? Probably not.

But it works and produces results. That's what counts.
amazing g hahaha im gonna quote that
 
Hi all,

I've worked for 15 years as a server admin. This means a lot of scripting but that's not the same as "real" programming.
Because of a merger the IT department went though a restructuring last year and I'm transferring to development.
So I have limited experience with object-orientation programming but I learning. More important I really love the challenge!
I have a couple of small iOS app in the story and played around with cross development via Xamarin.

I've discovered Dash a couple of weeks ago. My (first) master node is up & running since yesterday so yes I really believe in Dash.

I hope I can contribute to the development in every , limited, way I can.
At the moment I'm experimenting with QT (completely new to me) and reading up about the working of gitian.
I have an active Apple development account so maybe I can help out that way?

(If you didn't catch it already: English is not my native language, I'm from Belgium)
 
Last edited by a moderator:
Hi all,

I've worked for 15 years as a server admin. This means a lot of scripting but that's not the same as "real" programming.
Because of a merger the IT department went thoug a restructuring last year and I'm transferring to development.
So I have limited experience with object-orientation programming but I learning. More important I really love the challenge!
I have a couple of small iOS app in the story and played around with cross development via Xamarin.

I've discovered Dash a couple of weeks ago. My (first) master node is up & running since yesterday so yes I really believe in Dash.

I hope I can contribute to the development in every , limited, way I can.
At the moment I'm experimenting with QT (comply new to me) and reading up about the working of gitian.
I have an active Apple development account so maybe I can help out that way?

(If you didn't catch it already: English is not my native language, I'm from Belgium)
Welcome aboard! All contributions count, get involved, jump in! :grin:
 
Back
Top