Author Topic: CERN's contribution to KiCAD  (Read 88543 times)

0 Members and 1 Guest are viewing this topic.

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #25 on: April 13, 2013, 12:42:29 am »
The code is a train wreck, though. Have you seen it? It's incredible that it works as well as it does. Every single problem that I've had with it that I've bothered to track down has been due to some ridiculously elementary programming mistake that should only be made by some of the more challenged students in CS II...  |O
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #26 on: April 13, 2013, 12:50:50 am »
Example: It recently decided to have a problem with symbols in net names, because some bozo had it dumping the names straight into an ASCII format file without any escaping or encoding whatsoever. FFS, who does that?? No decent programmer would even consider doing something like that.

The fix that they committed when I reported this to them still does not escape the output, it just slaps a bodge on the input parser and calls it finished, even though I explained the problem. Dumbasses. After updating to the fixed version, I was still able to (granted, on purpose) create a net name that would screw up the file.

Rule #1 of accepting and sanitizing input from the user: Assume the user is a mentally challenged chimpanzee who has taken to randomly banging on the keyboard.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline perfect_disturbance

  • Regular Contributor
  • *
  • Posts: 144
  • Country: us
Re: CERN's contribution to KiCAD
« Reply #27 on: April 13, 2013, 02:10:26 am »
Why didn't you fix it and submit a patch.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #28 on: April 13, 2013, 02:13:56 am »
More work than I could be bothered to do. They're a lot more familiar with the serialization library they're using to output the file than I am. I'm not going to take a couple hours to get acquainted with the code for a fix that should take someone who already knows it half an hour to implement.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline perfect_disturbance

  • Regular Contributor
  • *
  • Posts: 144
  • Country: us
Re: CERN's contribution to KiCAD
« Reply #29 on: April 13, 2013, 02:21:30 am »
As open source software the developers are us. Anything wrong with it is our fault. And if we don't take the time to fix it we have nobody to complain to but ourselves.

Well except me I use eagle :).
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1462
  • Country: us
    • retroactive
Re: CERN's contribution to KiCAD
« Reply #30 on: April 13, 2013, 02:21:38 am »
I can hear the cries of "BUT ITS OPEN SOURCE AND FREEEEEEEEEEEEEEEE" already
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #31 on: April 13, 2013, 02:27:03 am »
As open source software the developers are us. Anything wrong with it is our fault. And if we don't take the time to fix it we have nobody to complain to but ourselves.

Well except me I use eagle :).

If the developers of Eagle suddenly decided to release the source tomorrow, that wouldn't shift the blame for the shittiness of the code (come on, it's freaking Eagle...) on the users. I am most certainly not a developer of KiCad, I was doing them a favor by even taking the time to sift through their poor excuse for code and help them by pointing out what was wrong. If they'd like only users who want to take the time to write code for them to use their software, I'll happily oblige. I don't think they'll have many users left, though.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline perfect_disturbance

  • Regular Contributor
  • *
  • Posts: 144
  • Country: us
Re: CERN's contribution to KiCAD
« Reply #32 on: April 13, 2013, 02:41:35 am »
I was just trying to make a comment about open source software. People like to complain that "the developers" are doing a crappy job. But the developers are the users. People who thought the software was good enough to contribute their time to it.

For free software the adage holds, you get what you pay for. In open source what you spend is your time. And if your not willing to spend much time you don't get very good software. But why complain it was cheap.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #33 on: April 13, 2013, 02:52:01 am »
I was just trying to make a comment about open source software. People like to complain that "the developers" are doing a crappy job. But the developers are the users. People who thought the software was good enough to contribute their time to it.

Good point in general, though KiCad seems to be mostly developed by a small group. The majority of outside code seems to be in the form of bug fixes.

But why complain it was cheap.

That is true. I was insulting the living hell out of their code, but it's still my favorite EDA package, and it's free on top of that. I'm just more than a bit annoyed that I did figure out exactly what the problem was, and they ignored that and implemented a shoddy bodge instead...
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: CERN's contribution to KiCAD
« Reply #34 on: April 13, 2013, 03:19:46 am »
I was just trying to make a comment about open source software. People like to complain that "the developers" are doing a crappy job. But the developers are the users. People who thought the software was good enough to contribute their time to it.
You do make a good point. If there is something you really don't like about KiCad and you are a programmer, you can always get in contact with the developers  and volunteer to improve that part. It may be it takes some effort to get trusted as no matter how brilliant you think you are, you have to fit in with the way the rest of the project code is developed. KiCad has been hurt in the past by battles between developers with different views on how code should be developed. It unfortunately usually takes more time learning the project conventions (good or bad) then it does writing some new or improved code. Ensuring your new code does not break any previous project files often has to take priority over improving the code.

The way the good open source programs often become really good programs is that at first the project has to exist and function. And then if they attract a partner like a company who offers help to make the program commercially useable, that can give the financial basis for quality development of the code to a schedule.

Anyone can sit down and find flaws in KiCad, but if you look at what it can do, rather then what it isn't, it can do a lot. It can do up to 16 layer board with no node limit so it can make boards that the free Eagle or Diptrace or whatever cannot make. Parts of the workflow may be inefficient compared to other packages, but you can get a result. You can design professional quality boards with it.

I had a quick look at the CERN project and it was a bit odd that they seemed to have their own repository for the mods they were working on. I am just not sure how this will work. They have apparently been talking with the KiCad developers for a couple of years, but I have no idea what those discussions involved.  I did get the impression that their main goal was to add a new router. Unless the code is merged into the mainstream project, it will at best result in a short lived fork that may only suit some specific problem that CERN wants to solve.

Richard
 

Offline Bored@Work

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: 00
Re: CERN's contribution to KiCAD
« Reply #35 on: April 13, 2013, 06:10:09 am »
Yes, in theory you can get in contact with them and fix their code.

In theory. I tried. They don't listen, they are not approachable. And regarding their code, it is horrible.

Now, you can have one of those, not being approachable or having horririble code, but both at once is a disaster. If your code is great you don't need to listen, but if your code is bad and you don't listen then you will forever wade in your own feces.

I know at least one open source project where they managed to turn their attitude around. I was hoping CERN's big name would manage to initiate this for KiCad. The project I think about is Libre Office.

When Libre Office forked from Open Office the first thing they did announce was a huge code cleanup event of the rotten OOo code they forked. How did they do this? They did let the experienced programmers they did lure away from OOe define small, tiny work packages (and some more difficult ones, too). Defined so new programmer not familiar with the 20 year history of the code could do them. And because they were defined by the LO project the people who took up the tasks knew their contribution was welcome,and they wouldn't in the end have to beg the project to have a look at their contributions.

Tasks for graps were as simple as "We have this file where there are five unused functions. Remove them and commit". They still continue with this, https://wiki.documentfoundation.org/Development/Easy_Hacks#Entry_level_Hacks

They welcome new programmers to the project and give them meaningful tasks. Unlike KiCad, where they don't seem to recognise they have issues with their code base and their talent, and not every potential contributor is a tenured professor or from CERN, who has to much time on his hand.

And they have apparently not recognized in KiCad that programming is for professionals, and user interface design is for other professionals, and both is not something academics can do well on the fly.
« Last Edit: April 13, 2013, 06:32:45 am by Bored@Work »
I delete PMs unread. If you have something to say, say it in public.
For all else: Profile->[Modify Profile]Buddies/Ignore List->Edit Ignore List
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: CERN's contribution to KiCAD
« Reply #36 on: April 13, 2013, 06:52:37 am »
Didn't know that about Libre Office, but I had a look and they have some great ideas.

I particularly liked the idea of entry level volunteers verifying that bugs have been fixed in the latest daily release. That means at minimum, a second set of eyes checking every fix.

I have never dealt directly with the KiCad developers but I guess it is human nature to feel possessive of a project after you have put a number of years work into it. Perhaps there will be a time when the project does have to be forked - like OpenOffice/Libre Office - so that a major refactoring can take place.

You didn't tell the KiCad programmers that their code was horrible, I hope?

I would be amazed if they didn't want someone who was volunteering to help developing some aspect of the code. It is not as if the developers seem to have time to do that much themselves. Things like debug the prototype scripting language, debug the nanometer resolution code, if it hasn't been tested much. Develop test code, so that a test suite could be run on every new build (would be easier if the scripting feature was enabled and functional). Documentation - particularly documentation of the code. Code to allow pin swapping in the PCB editor with back annotation to the schematic would be a nice addition.

There is a heap of volunteer work that could probably be done on libraries. I remember seeing that they had this concept called SWEET to unify the libraries - don't know how that is going.

Not sure how you approached them, but it is common not to allow a new programmer to work on the core of the program until they see the programmers work. It could be though that they just do not want to open up the core design group to new people - perhaps they like their little kingdom and are happy with glacial progress.
 

Offline codeboy2k

  • Super Contributor
  • ***
  • Posts: 1836
  • Country: ca
Re: CERN's contribution to KiCAD
« Reply #37 on: April 13, 2013, 09:54:03 am »
...  so new programmer not familiar with the 20 year history of the code could do them.

speaking of which... I worked for Sun in the 90's... I remember we were using StarOffice long before Sun decided to buy the company and open-source it. I left in early 1998 and I think they bought the company soon after that.



 

Offline djsbTopic starter

  • Frequent Contributor
  • **
  • Posts: 886
  • Country: gb
Re: CERN's contribution to KiCAD
« Reply #38 on: April 13, 2013, 10:40:25 am »
I'll send an email with a link to this topic to the launchpad developer mailing list. Maybe someone (a developer?) could give us some feedback on the comments here.

David.
« Last Edit: April 13, 2013, 06:24:06 pm by djsb »
David
Hertfordshire,UK
University Electronics Technician, London PIC,CCS C,Arduino,Kicad, Altium Designer,LPKF S103,S62 Operator, Electronics instructor. Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime. Credited Kicad French to English translator.
 

Offline firewalker

  • Super Contributor
  • ***
  • Posts: 2450
  • Country: gr
Re: CERN's contribution to KiCAD
« Reply #39 on: April 13, 2013, 01:03:19 pm »
I'll send an email with a link to this topic to the launchpad mailing list. Maybe someone a developer would give some feedback on the comments here.

David.

Nice thought.  :-+

Alexander.
Become a realist, stay a dreamer.

 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: CERN's contribution to KiCAD
« Reply #40 on: April 13, 2013, 01:37:02 pm »
An Altium reader problem that had occurred previously, happened again tonight.
Here are a couple of screenshots.
I opened up a workspace file once, and some lib paths must be wrong or don't exist.

On the error dialogue I click Ok and it spawns a new process?, each time I click OK???
If I click the red cross in the top right hand corner the dialogue disappears.
If I kill all Altium processes except one, and then if I click the red cross in the top right hand corner 30 times, once for each error, I can finally use Altium reader.

I call that a train wreck.

 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8515
  • Country: us
    • SiliconValleyGarage
Re: CERN's contribution to KiCAD
« Reply #41 on: April 13, 2013, 08:30:11 pm »
I was just trying to make a comment about open source software. People like to complain that "the developers" are doing a crappy job. But the developers are the users. People who thought the software was good enough to contribute their time to it.

So in your universe , if you don't know how to write code you can't use open source.. Well thats handy dandy then... Elitist !

I don't want to make screwdrivers. I just use them to put screws in something. So far the free screwdrivers have only proven to be pure junk... I'll stick to the pricey , proven ones.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline MacAttak

  • Supporter
  • ****
  • Posts: 683
  • Country: us
Re: CERN's contribution to KiCAD
« Reply #42 on: April 13, 2013, 08:52:10 pm »
The protectionist "not invented here" attitude is what needs to change. Code quality will improve naturally on its own after that.

As a contributor to several OSS projects (some with significantly larger user population than KiCad), I can say that the thing that affects OSS quality above all else is being open to contributions from new volunteers. If you are dismissive and arrogant, those new volunteers will be discouraged and will find someplace else to spend their time. And that's bad because OSS is always in need of fresh new ideas and energy.

I have also found that in general, an OSS project with code that is approachable and easy to understand is a very strong positive indicator that the team will be accepting of new contributions. In other words, this is a positive feedback loop.
 

Offline elgonzo

  • Supporter
  • ****
  • Posts: 688
  • Country: 00
Re: CERN's contribution to KiCAD
« Reply #43 on: May 06, 2013, 01:51:24 pm »
The protectionist "not invented here" attitude is what needs to change. Code quality will improve naturally on its own after that.

As a contributor to several OSS projects (some with significantly larger user population than KiCad), I can say that the thing that affects OSS quality above all else is being open to contributions from new volunteers. If you are dismissive and arrogant, those new volunteers will be discouraged and will find someplace else to spend their time. And that's bad because OSS is always in need of fresh new ideas and energy.

I have also found that in general, an OSS project with code that is approachable and easy to understand is a very strong positive indicator that the team will be accepting of new contributions. In other words, this is a positive feedback loop.

Sorry, my reply is a bit late...
It is a common misconception that being open to contributions is good for OSS quality. As Bored@Work mentioned above, well defined and feasible work packages are what makes the development of a software project successful, no matter if it is OSS or proprietary commercial software. Unless you have good and stable extension/plug-in mechanism with equally good and stable API, the quality of your project will not improve when random contributions are thrown at it.
« Last Edit: May 06, 2013, 01:53:20 pm by elgonzo »
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: CERN's contribution to KiCAD
« Reply #44 on: May 06, 2013, 01:59:35 pm »
Or even if you have good and stable extension/plug-in mechanism with equally good and stable API, the quality of your project will not improve when random contributions are thrown at it.
 

Offline elgonzo

  • Supporter
  • ****
  • Posts: 688
  • Country: 00
Re: CERN's contribution to KiCAD
« Reply #45 on: May 06, 2013, 02:28:01 pm »
Or even if you have good and stable extension/plug-in mechanism with equally good and stable API, the quality of your project will not improve when random contributions are thrown at it.

I politely disagree with you :)

Extension mechanisms (add-ons, plug-ins, scripting, etc...) can provide an environment which allows people to contribute without demanding much of the core developers attention or modifications in the software code base. Which is a huge benefit both for developers, contributors and users.

Contributors can realize their or user's feature requests with less interference and little coordination betwen them and the core devs. This does not only make it easy for contributors (which often act on an impulse), but makes contributions quick to realize.

If a contributed extension proves popular, it can be included in the distributable of the software (assuming that licensing and other IP concerns aren't in the way). Or, if a migration of a popular extension into the core code base is deemed favorable, the definition of required work packages is rather straightforward, being derived from the existing extension and user feedback.
« Last Edit: May 06, 2013, 02:31:31 pm by elgonzo »
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #46 on: May 06, 2013, 02:42:38 pm »
Yes, if you are lucky. Or, in the more common scenario, all you get is five or six half-assed turds, each one subtracting from the overall professionalism  of your project.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline HackedFridgeMagnet

  • Super Contributor
  • ***
  • Posts: 2028
  • Country: au
Re: CERN's contribution to KiCAD
« Reply #47 on: May 06, 2013, 10:53:08 pm »
Yes sorry elgonzo, I was just playing with words and trying to be funny.

I think it's a fair point that you make too, though I am not sure to what extent Kicad has a stable architecture or stable extension mechanism. In fact from memory they are in the process of implementing a change of design.
Hopefully Kicad can get this stage soon.
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2536
  • Country: us
  • Not An Expert
Re: CERN's contribution to KiCAD
« Reply #48 on: May 07, 2013, 01:42:50 am »
Isn't Eclipse built around that plugin type framework? 
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: CERN's contribution to KiCAD
« Reply #49 on: May 07, 2013, 01:45:08 am »
Isn't Eclipse built around that plugin type framework?

Yes, if you are lucky.

Yep. They're one of the few for whom it's worked.
No longer active here - try the IRC channel if you just can't be without me :)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf