← Back to team overview

kicad-developers team mailing list archive

Re: Re: Launchpad: Mea maxima culpa

 

Mateusz wrote:
I've been hesitating whether write this or not, but I want to spell out this questions.

Mateusz,

Thank you for proceeding with your questions. I'm glad you did, and your candor is helping us identify weaknesses in the project infra-structure. (Actually more like confirm them, but valuable none-the-less.) I'm not sure why you hesitated though.
If yes, this is actually counter-productive in my view, since we don't actually have a democracy here. (A democracy or a republic requires a constitution.) Given the circumstances, IMO, votes should be weighted in proportion to the size of the respective contributions of each voter. Otherwise it is like allowing folks to vote who have not paid taxes, and that doesn't seem to work too well, since they just vote themselves money. It is also not a meritocracy, where according to wikipedia, reward is according to talent. As of now, it is simply a system which respects the value of past contributions. In my view Jean-Pierre by far would get the heaviest vote. But I suspect that if he saw there was widespread support for something which was not going to adversely affect him, that he would not go out of his way to oppose it.
Project History:


Jean-Pierre, like most of us, is very busy. He has said in the past that writing English takes a bit of time for him. So when he does write, we all tend to listen as closely as possible, and when he does not write, we try to read his mind. Seriously.
Originally going back a few years ago now, I think he was reluctant to 
even put the source code into a repository. He had simply been putting 
out source code archives along with binaries, and doing all development 
himself. That is about 3 years ago. I think he could have been content 
to simply issue his own contributions forever. I was the main driver on 
getting the code into a repository where others could contribute. I 
think I even threatened to fork the project. In the end, I won, and 
Jean-Pierre came on board. I don't like to assert that kind of muscle, 
but I had invested a lot into Kicad design files, and felt trapped. The 
price I pay for that now is that I owe Jean-Pierre as much effort as I 
can to make his life as comfortable as it was before. I don't think he 
wants to arbitrate political bickering and spent 2 hours per day on a 
mailing list. I am a native English speaker and I am doing what I can 
to make this work, all the while being respectful of what Jean-Pierre 
might want. Up until recently, the only way to get write access to the 
repository was through Igor Plyatov. Now I can do that as well. The 
two of us are sourceforge admins for this project. Search for Igor's 
last posting on this mailing list, and you will understand why I felt we 
needed more help at the admin level, particularly on the development 
side of things (this additional help is still ramping up). Igor has 
done a great job on the documentation side of things and initial website 
setup. But in his last posting he said he was not even using Kicad 
anymore. (Igor, correct me if I mis-state anything.)
I have owned a software company for 26 years, still do, and I operate as 
CTO even today, still doing software development and software 
management. This is a very difficult software resume to match, 
especially when you see what we have actually accomplished. In 
contrast, I will not claim to be especially knowledgeable about hardware 
development. Wayne is also a very experienced software developer AND 
contributor. And there are still others who have untold experience, but 
have limited time to spend being chatty on a mailing list. And 
Jean-Pierre continues to contribute prolifically, keeping us debtors and 
him a creditor.
So the project is very equipped to move forward, were we to be able to 
organize the contributions. And this brings us back to your questions, 
and your final statement, which says that you are discouraged because 
you do not know how to proceed. In a posting last week, I raised the 
same concern: "attracting, retaining, and organizing additional 
developers".

I do agree that democracy is not a good option in such a project.

The problem is I am totally new here. I don't know anyone from "high command" yet I want to contribute. I want to ask you some questions about this project:

1. To become a member of the kicad-devel group I was ask to write what I would like to contribute. If I were accepted does it mean that I have a green light to do what I planned?

Define "member of the kicad-devel group":

A person who contributes is a member. Contributions can be: documentation, library parts, opinions, patches, design ideas. Usually design ideas and opinions come in higher volume than patches, and the rate limiting factor is patches. Patches can be posted on this mailing list as attachments, or they can be written into the repository proving a person has write access. The most valuable patches are those that are first discussed on the mailing list, as "design ideas", even before the patches are written. Then we know to expect them, and to "support" them. A member who does not have write access is especially advised to get some feedback on his/her design idea before investing in a large patch. Patch quality is always a concern. Until we know a member's ability to contribute quality patches, there should be no write access given. But even after receiving write access, a member should use the mailing list to state his intentions in advance, if for no other reason than to avoid a collision or overlap of effort.

2. If not, with whom should I consult my ideas? If we don't have democracy, asking questions on mailing group is useless.
Not true. It is working this very moment.

Maybe I should write direct emails to Jean-Pierre. If he has the heaviest vote, then I need only his approval?

He will probably not answer, but you are welcome to try.

3. If not, could anybody tell me what is the "chain of command" here. Or whom should I bother with my ideas?

Talk to the list please. Everyone has their own preferences, and ranks 
the various issues with varying sort orders of importance. One of my 
higher ranking issues is code quality and conformance. I might not 
concern myself with something else, which I rank as being of lesser 
importance. Generally you should interpret silence as acceptance. 
Others may have important issues, and will voice them. Still others 
just like to hear themselves talk, or may want a feature, but will have 
no idea how to code it. So for example, let's say you propose 
something that is a don't care to the top developers, and you hear next 
to nothing about your idea. I would say that this gives you green light 
to proceed with a patch. Then attach it to a posting on this list. 
Keep your patches compatible with the output of uncrustify using our 
uncrustify.cfg file. And if it is a major rework, feel free to submit 
incremental work along the way. We will know soon how good you write 
code, and can give you write access sooner than later if your work is 
good quality.
I do agree, that it is a good policy, not to give new developers access to SVN.
Thank you for understanding this. And it shows you have some sense about you.
But I want to do something. So maybe you should organise some groups working under supervision of "old" developers? I just feel that I am running out of my enthusiasm...

Well hang in there. Use this list for now. We are in the process of 
reviewing a number of ways to better track design ideas, patches, bug 
reports, enhancement requests.... We have three choices that I see 
right now:

1) Keep things the same.

2) Add "Trac" to our existing site (move off of Tracker) and have Trac sit on top of one of distributed VCSs.
3) Move to launchpad.


Hope this helps, not only you, but anybody else with similar confusion. Clearly it is not practical to write a posting like this everytime this question is asked. I just spent 1/2 hour doing it, ouch. Some of this should go on a wiki page I guess.

Dick








Follow ups

References