With Linux it's the case of software developers making something they'd use on their own and they know how they'd like to use it. I'd say one can be either a competent software developer or a competent pcb designer, but both is probably very, very rare and such people have enough stuff to do. For the said Linux case, one has only got to be a software developer.
What open source engineering-related softwares need is constant feedback from the industry that is using those tools on what to improve and/or change.
+1
These are subtle, very insightful, and important distinctions
Yeah, nah.
Did you guys miss the comment above? High profile open source software like KiCad and certainly Linux is not developed by hobbyists. Read that again.
That means it is mostly developed by paid professionals - just as commercial software is. Therefore what you are saying applies just as much to commercial products as it does to the open source ones.
_All_ software development needs constant feedback from subject matter experts.
Hi hendorog,
I think we might be saying the same thing, or something similar.
The intention wasn't in any way to take a shot at KiCad, or Open Source.
The point was just that in the case of Linux a software developer can often be both an end user and a software developer. As an end user a software developer has a pretty good idea of what he or she would like in software in general and software OS's and tools in particular.
In the case of other non-core IT applications (hardware circuit design software for hardware engineers, medical imaging software for radiologists, etc, etc, etc.) the end result (software that is enjoyable and productive to use, and hopefully reliable and affordable too) often requires input from the end users to the software developers. This collaboration between end users and software developers happens very naturally in the case of Linux (or other similar open source projects) because the end users and the software developers are often the same people – just wearing two hats.
Whether an application development project is open source or a conventional commercial project the benefit of having end user input to the software developers is generally very important to the success of the project, of course. In both cases (open or commercial) the software developers can have a range of skills (from beginners to pros, and pro’s pro’s); the better the skill level the more likely the success. In both cases, the key is often knowing which end users to listen to. Often this requires some decision as to who the application is going be built for (beginning end users, intermediate end users, advanced end users, power users, etc – or some combination. Or maybe the market is segmented by enthusiast, intermediate/advanced amateur, freelance pro/small company pro, big company pro, etc.). In any event - to your point - collaboration between software developers and end users is generally pretty important for both commercial and open source projects.
The point I think poorchava was trying to make (and that I agree with) is simply that Linux is an interesting (and somewhat unique) use case (relative to the broad spectrum of uses cases) for software development because many of the end users are software developers and vice versa. This isn’t generally the case with most application software. As poorchava pointed out, perhaps some hardware circuit design engineers (end users) are also software developers, but if so, they are probably pretty busy and they have to choose how much time they want to spend wearing one hat or the other, or both of their two hats (or maybe yet other hats if they are that talented.)
My guess is we have some forum members who would like EDA tools that will help automate design and build processes - and there are others here who would like to help build EDA tools as well as use them. Most of us would at least like to find a tool that helps us become comfortably productive, and to the extent we don't find such tools we sometimes share our input as end users regarding our "requirements" for ease of use, functionality, price, etc. The chances of our specific end user requirements/preferences making it into some list of product requirements is not real high so we get to choose between the products available, unless we happen to be software developers who can make modifications - to the extent that is practical and permissible. In the case of Linux it's reasonably practical and permissible, in the case of EDA it's maybe somewhat less common but still feasible.
EF