The thing is if there is a way to fund one particular tool there also needs to be one for any other tool (I bet nearly everyone is missing something slightly different. And there might even be the possiblility that some tasks can be solved with different features and different users might prefer one over the other)
The requested improvement to DRC is already on the roadmap. So if you help kicad in general (with money or your time) then you might increase the chance of this being in v6 instead of a later release no matter if your contribution goes directly into funding this feature. (More funds means more boring stuff can be outsourced making it more likely that core devs can focus on exciting new stuff)
I am not arguing against a way to fund specific features but want you to be aware that handling such a request system might hinder the general development of KiCad (Directly because it means resources must be spent to deal with the request system and indirectly by possibly forcing the project to implement some feature before the pre requirements are properly in place or by diverting funds away from the more boring behind the scenes development that would be vital for the future of the project.)
This is why the general croudfunding idea for this feature might have merrit as it means the community takes care of the required overhead (But only as long as the core dev teams wishes are taken into account. Which would be the case if KiPro is the organization that handles the implementation.) And this feature is a bit special in this regard as it is already on the roadmap so we know we do not hinder the current goal by funding it externally.
Other features further ahead in the future might need a different approach where users are made aware that their funding goes towards building the bedrock onto which the requested feature can be later implemented
I think the problem there is still how to manage the funds for a specific feature, as opposed to money that goes into a general pot. Managing one feature may not be onerous, but I guess that this will be the thin end of the wedge, and people will want to add many other features for specific funding. (There are currently 636 issues on the KiCad wishlist!). But I don’t manage the budgets, maybe it is easier than I think.
Have you considered funding platforms like patreon, gofundme, indiegogo etc? If you could do the donkey work of collecting the money, then engage KicadPro directly.
Up to my knowlhedge there exists a founding platform for KiCAD called CommunityBridge. Why should I reinvent the wheel, while this platform is the most cost effective out there (free!)?
If you click on donate, a category can be selected. It would be an easy task to add yet another category, say “clearance matrix”. KiCAD is not obligated to use it, as highlighted below. But i guess it would be enough.
To my knowledge, there are 7300 USD++ that could be already used for a speed up of the development, for example also for the DRC feature.
CERN promised only 600 (i guess) more working hours to complete KiCAD 6 back in 2018. That did not happen to my knowledge. Therefore my willingness to give without allocation is reduced.
Ok, seeing as people regularly make requests of KiCad, whether it is a comprehensive library of parts, up to date and complete documention, some feature that Altium has that KiCad doesn’t. Of course, everyone thinks their own request is the most important to the exclusion of any other.
The point is always the same, KiCad is primarily a volunteer projected. So you should be asking “How can I help KiCad?” not “I want KiCad to help me”.
It doesn’t seem like you’re willing to put your own time or effort into helping. Just saying.
The practical steps you can take have been outlined, I predict this will be another thread where “I gotta have feature X” will die without effect.
If you would like to subscribe to KiPro, we’re only $400/year for businesses and you get priority feature development in addition to our rapid bug-fix program. This means that your priorities get reflected in our development choices. We do this for all of our clients.
You might think of this as the same as “heat” in Launchpad or “weight” in GitLab except that priorities are limited only to people who are (probably) using KiCad professionally.
You also contribute to the pool of businesses that are ensuring long-term, sustainable development of KiCad into the future.
We (KiCad dev team) are immensely grateful to all of our supporters. Every contribution is helpful to KiCad’s continued development.
That said, development costs do not proceed in small chunks. A single developer costs more than $7300. There are not a large group of under-utilized developers that can be mobilized to write code for KiCad.
You should expect to see KiCad features arrive in jumps.
The main new feature for v6 will be the new file format for symbols and the schematic. This will require quite a bit of testing so i would guess that there will be at least a year between this being merged to the development branch and v6.
This feature has not yet been merged so my guess is that v6 is more than a year away.
(The library team will also need time to convert the symbol libs to the new featureset not just to the new format. There might even be some time required for the librarians to experiment with the file format to discover what its true potential is. I would hope we will get this time to be able to continue to supply the best possible library for our users. This might mean that we librarians might request a delay should the time between first useful file format implementation and planned release date be too short.)
Back on topic
As a power electronics engineer dealing with low voltage ( 540V -> 1kV) having a more comprehensive net classes would be invaluable since spotting a creepage problem later on can and does result in ripping up layout and placement.
This sort of thing is beneficial to other aspects of constraint management - high speed digital, tracked-pairs (as oppose to differential pairs). While it would be great to have such a feature expedited, its probably best to fully architected. Right now, using net clearance and proper reviews is viable.
I’m surprised how fast some money was collected. Now this account is beyond 12k. @ChrisGammell was really generous to Kicad.
I talked with Olson@Kicad and he is not able to put further professional work in this feature. @Seth_h or other KiCad professionals: Would there be a possibility to use the current collected money for that feature? Or are there other plans? In the last days the feature was also linked two times, so its and often requested one.
This is a bit of a repeat but I’d like to be clear:
This feature is currently on the v6 roadmap. We plan on developing it prior to v6 being released.
If there are professional users who would like this specific feature (or any other KiCad feature that is important to them) implemented on a fixed timescale, they can contract KiCad Services directly (link is in my user profile).
General donations to KiCad via the Linux Foundation are greatly appreciated and will be used to improve all areas of the project that benefit all users. This may include the clearance feature at some point but to ask that the LF account be zeroed out to support this request is a non-starter.
I’d also like to chime in and say that a proper implementation of this feature is tied in to a lot of other tasks, some of which might seem completely unrelated to those unfamiliar with the KiCad codebase.
Nobody is saying a clearance matrix shouldn’t be implemented, but as we are trying to move KiCad forward we have to do so in a way that keeps the level of “technical debt” manageable, and gives us a stable platform to build on in the future.
Right now there are developers working on things that are pieces in the puzzle that will eventually lead to this particular feature. It might take a while, but we will get there
@Seth_h and @craftyjon thanks for the clarification. An normal kicad user is indeed unfamiliar with your codebase and its hard to judge. I just see in a clearance matrix a great need, honestly also a big one from my side.
I would recommend to use donated money quickly for feature improvements average Joe can understand. This could motivate additional founding. One problem i noticed with Cern, is that it was not made clear for what the money was used. So please make clear what the money is used for. A clearance matrix is often requested and easy to understand. However, i truely understand that only one request cannot use up all the money.
Thanks to all KiCad developpers for their work, and especially to @Seth_h for his patience in answering my (repetitive) questions.
Always be aware of your own biases. While you and some others consider the clearance matrix (or something similar) to be one of the most important improvements, others might disagree. (For example somebody mainly working with flex boards would much rather see curved traces, hatched copper fills and possibly also teardrops be added. And yes parts of this are already in nightly.)
The core developers need to balance adding visible features and background work. One big example is the new file format for eeschema that will in the first instance not really add new features but will enable huge improvements in future releases. If the devs only focus on what users want right now then such huge investments will never get of the ground.
Hi @Rene_Poschl,
I don’t mean to add more confusion to the discussion, nor I am endorsing such a thing, but:
What is your personal position (or the other project leader’s/developer’s) if a bunch of people wants to pay some external developer to build a feature such as the clearance matrix? Would something like that be ok?
This way, people would get the feature they want/need and we wouldn’t be removing precious time away from kicad developer’s hands. I understand that this might increase the technical debt and would be channeling funds away from the people that have the hardest work - I think that part of the funds invested in the external developer team should be donated back to the kicad project.
I think this might be a fair compromise between both parties but I would like to know your opinion.
First of all, i am not a developer but just the head of the library team.
But i assume that i can deduce quite a bit from what i understand about the development of any product including KiCad. In such a large project any feature added must be developed in close coordination with project management. So if you hire external guys then they must communicate with the lead developers.
Otherwise, you have the danger that the work done must be rejected because it does not fit the longterm plans for KiCad. This has happened before. There were at least two attempts to add teardrop support. Both would have broken core assumptions made by the main development team so needed to be fixed up to fit the overall plan (At least one of them was build upon the old toolset that was already frozen at that point in time). In both cases the contributors ran out of resources (in this case motivation) before they could fix up their work. Both of these attempts would have resulted in a great feature added to KiCad if their developers would have more closely communicated with the core team. It would have also spared everyone involved from the bad experience that came from these additions needing to be rejected.
There is however a catch. The core team has only so much time. So getting too many external contributors added without at the same time supporting the core team will result in the core team being overwhelmed. See for example the predicament we have on the library side. There is no shortage on contributions but definitely a lack in reviewers. Resulting in a bad experience for everyone involved (The contributors get frustrated because their work is not reviewed in a timely manner and the maintainers are in danger of burnout as no matter how many hours one invests the number of open requests simply does not seem to shrink)
Personally I would consider a value driven development a way of easy user oriented software development. By making a viable business concept out of an open source software, a huge leap in technology improvement may be possible. If you get payed for your hobby, what bettet can happen?
I personally have the feeling i caused confusion. I am not planning to hire any external developper. KiPro @Seth_h are core Kicad devs and they know best what to do. I think the devs are now well aware of this feature request, which is present now for 5 years (i guess).
If @Seth_h felt this could be done at a reasonable cost and along a reasonable time line I’m sure this would happen and he would say as much. Kicad as a whole would probably fail if features were held for ransom. I’m sure it is an image he really wants/needs to avoid too.
The cost estimate reflects the dependencies that need to be implemented in order to support the feature. As we continue v6 development, more of these dependencies will be implemented and the cost to this particular feature will decrease. A drive-by coder could create something that achieves this more quickly but increases the technical debt of the project and makes future development more difficult. That would harm all users and is not the approach we take.
There are other feature development works currently in progress that businesses have funded for much less than this request. Quotes are given based on the estimated work time for the feature itself as well as the underlying technical requirements.