← 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.


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.


Follow ups