KiCad growth based on created Github projects

Ah, indeed. I thought it was existing projects year by year, already cumulative.

Hello everybody.

There is the old project Leopart (four years), the component search engine for reference designs used in GitHub. Indexed 8,000 KiCad-projects on GitHub containing 37,000 electronic components as a proof-of-concept.

Explanations : FOSDEM 2020 - Leveraging Open Source Designs
Code on GitHub : GitHub - leopart-hq/leopart: This is a search engine for publicly available KiCad files on GitHub. The KiCad files are parsed and the contained components indexed to make the projects searchable by the components they contain. This project was started as a university lab course and is now an open source project.

Best regards.

Jean-Pierre

Hi, Jean. Good project! I watched your video and saw you had the same problems with Github search I did: search is limited to things like the description and readme and won’t return more than 1000 results.

I’ve got a shell script that replicates the initial web-crawler of your project and stores the repo links in a JSON file. KiCad repos have increased to >19,000 since your talk.

If I decide to push this any further, I’ll definitely look into extending your project. Is the Aisler part lookup service still available?

That is pretty close to 20000 I added up, especially because you added 1350 to extrapolate to the end of this year.

Would it be of use to archive such search data in case microsoft cripples search capabilities?
I think it could also be quite useful to have this as a plugin in KiCad. Maybe preferably with the database somewhere else, so there are no 20.000 people crawling over gitlab every day. What would be a good location for such a database? How big is it?

Hi Dave.

I’m not the original author of this project, it’s Lasse Mönch :

But you ask good questions.

Best regards.

Jean-Pierre

Yes, it’s stored as a 200-Kline, 5MB JSON file. It takes about an hour to generate from scratch (Github rate limits), but would be much faster to update every few days with any new projects. I’m going to store the shell script and JSON on Github along with a simple webapp that displays it as a filterable/sortable table. Anyone can clone it from there and actually run it locally if they want. I’m actually testing it locally now just using python -m http.server in the directory.

1 Like

It may be a very nice addition to the KiCad website. That could limit gitlab crawling to once a week or once a month or so.

Hi Dave.

Wonderful, we’re going to have something usable to research Kicad projects.

Best regards.

Jean-Pierre

Hm, for some reason I tought you searched for .kicad_pro

Can you compare those 2 searches for us?

Here’s the data for the search term “.kicad_pro”:

2012: 0
2013: 2
2014: 5
2015: 8
2016: 18
2017: 18
2018: 23
2019: 27
2020: 42
2021: 59
2022: 60
2023: 48

Note that “.kicad_pro” doesn’t do what you think. It actually makes Github search look for repos containing both strings “kicad” and “pro”.

Then you did not understand my suggestion. It was to compare a random mention of Kicad against having a *.kicad_pro file inside of it, meaning the repo contains probably a Kicad/Board project.

2 Likes

@devbisme
You may want to update your analysis below:

It’s not “kinda linear growth” nor “flat since then”, because you did not post the totals, but the new projects per year (Add the “new” to the title of the graph). Total KiCad projects on github more then doubled in the last 3 years, and in the 3 years before that, and in the 3 years before that. And that is not linear, but (close to) exponential. This probably becomes more clearer if you plot the accumulative projects, which is also a more common graph. Eelik was also mislead by that.

Growth of what though ? growth of the user base or the projects they are creating ? as each new user becomes more familiar with KiCad it’s reasonable to assume they may create more projects, but I think the number of new projects each year is a better indication of the growth of the Userbase, and I think that is what is important.

Perhaps another search could be done to get the number of unique Github accounts associated with those KiCad projects and plot that for each year.

Yes, I’m assuming that each active KiCad user produces an average p projects per year. If you look at the number of new projects produced each year, P, then the number of active KiCad users, N, required to produce those would be N = P/p. So observing the number of new projects generated each year serves as a proxy for the number of active users each year.

One can argue that this model is too simple. If someone can produce a more realistic model without a bunch of hand-waving, then go for it.

The data I’ve collected also includes the owner’s login id for each project, so that could be done.

1 Like

I don’t think one can read to much into these numbers except maybe that there is growth but there are probably better indicators for this as well. Most professional users won’t put their projects to github for obvious reasons, students and hobbyists often only use their “local” storage as well so you end up with a very limited part of the user base represented in there. I would assume that the relation of published projects on github to actually worldwide created projects constantly decreases with more and more regular users and not only enthusiasts picking up KiCad.

Certainly, the people from KiCad Services Corporation probably have a quite good idea about these things, because they do commercial support for KiCad, and I’m hoping to hear some things about their views after KiCon 2023.

I have not seen statistics about the use of this forum, I think there is a bit of growth in the number of questions, but a lot of people probably don’t post here anymore after they have learned KiCad.

Donations via the Linux Foundation seem to be sort of steady. The last time I checked I see mostly recurring small donations and a few big ones. The donations from Aisler, seem to have declined a bit. I think it averages now around EUR750 each month, while there were times it was over EUR1000/month. Aisler has coupled their ordering system with KiCad donations. It’s a bit unfortunate that I’ve heard some less shiny things about Aisler, and it is a reason for some to not order PCB’s from them anymore. But I know nothing about other donation channels, except a sizable one-time grant from NLnet.

Which is pretty good considering the financial stress a lot of people are in this year.
Anyway, let’s try to keep on topic

OK, the easiest way to do that is just to go to Github, do a search for “kicad”, select some of the projects that show up, and then go look in their repos to see what file types they have. You don’t need me in order to do that. The Github API doesn’t allow a global search for all repos containing a certain type of file.

I don’t need you, dude. LoL :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.