> Ok, well I'll add my feedback, but I'll try to keep from going on too long. 
> :-)

Keep it going... all ideas are worth something.

> That seems like a poor argument. Databases are very good at organizing

wrong area... fine on a web site where you manage the system via some
form of DB, it's the user end that causes problem. Where will a user put
a mod or part? some will dump them into one place, some will split them
out into different files, I'll guarantee than someone will shove the part
for a micro into a lib intended for passives either by mistake or
because that happened to be the last lib accessed.. I'm sure you get the
idea, done it enough times myself :-) 

> Well, if it isn't very manageable already, that seems like a great

Yes pretty much what has been said 

> 
> I agree. There are two big issues here, accessibility and security.
> The libraries need to be easily downloadable, so people with
> unreliable (or without) internet connections can use it. That part is
> easily solved. Just make it so users can download either the entire
> database or just the parts they want at any time. The security issue
> is primarily that we need to know whether we can trust parts or not.
> The "trustworthy rating" that I mentioned before helps with that, but
> we also would need to be sure that no one could maliciously replace
> the trusted part with a broken one. That's a fairly simple web
> security issue, though, so it should be easily dealt with.

There are several aspects to the security point.

The most important part is that items used in a project MUST ALWAYS be
available. So if items are downloaded and used they must get saved into
the local repository.

That's part of general data security i.e. ensuring that the data you need
is always available.

Protecting the data against changes is another aspect.
things such as validating a change prior to making it available as you
mention.

The trustworthy part is another mechanism to help validate a part but
that might get wrapped up into the system that locks out changes. Six of
one half a dozen of the other I think. 

> 
> All these are simple variants. There's no reason at all my proposed
> system couldn't have variants. But unlike the current system, those

Prob not very well explained on my part...
Users will take an existing part and change it to their own taste, and
then they will save it back under the SAME NAME as before. i.e. I don't
like the polarised cap symbol of an open box and a curved line I prefer
the open box and the filled in box symbol. So I change the capapol lib
and everything uses my preference. So you need to think about how a
system could work around that. There are ways, but it's going to need a
lot of careful thought. It's not so much about having a number of
versions on the web site, but more of how you are going to handle local
changes without things getting totally confused. 

> 
> Updating is an issue with the current system, but not with my
...

That's getting along the sort of lines that need to be considered.
I'm not sure that I would ever want notifications as once a part is in
use then it will be OK for a particular project, but that's detail.

> change without my permission. If I ever share the schematic or board
> files, the parts do not need to be embedded into the file, since the

NO totally unacceptable. Any file must be totally transportable without
access to any external system. Doing it any other way will cause all
sorts of problems. 

I'll allow (but not happily) an option, NOT A DEFAULT, for a file to be
saved without libs and parts for the express purpose of reducing file
size, but for many projects the file sizes are not that big anyway, and
as they are generally text type files they compress very well with
existing archiving tools, so size is not normally an issue.

> 
> These are valid issues, but not as significant as you are making them

They are very significant, Wiki is a different animal where people are
generally writing up original text, (well hopefully as that is what wiki
was intended to be) they also have a staff to deal with any problems.

With things like parts and mods, you are dealing with a fairly small
set of players in the PCB design sox field. So are going to need to be
red hot on any possible infringements on submissions into your system.

Other providers of PCB design tools may not be at all happy if they
find their libs converted and uploaded to a rival system. Naturally in
the case of a component manaf. providing libs, the situation is
different, however even there the rights need to be checked. There is a
big difference between such libs being made available for people to
use, and grabbing these libs and putting them up on another system.
Some companies may want to retain control of their libs, and prohibit
them from appearing on other systems. 

I know this sounds like a load of unnecessary twaddle, but lawyers make
a big living dealing with such issues. You have GOT to protect your
backside.

> everyone involved. But it has to start someplace, and KiCAD seems to
> be as good a place as any. :-)

Can't argue there :-)

> 
> But then you have sort of a chicken and egg problem. You can't have

Yes it is chicken and egg.

Firstly Kicad is NOT set up to easily integrate an external source into
it's lib and mod system.

That gives you two options.
1. Discuss with the developers and all, to change the way kicad
operates, to enable the functionally that would be needed to enable the
use of the system.

2. Design and build a system to be a generic repository and hope that you
have enough functionality that authors of PCB software will build in the
support for it. 

In practical terms you will need at least one major product to take up
the system in order for it to gain any momentum. 

> 
> Easily handled with a simple database field, though the 'trustworthy

Don't confuse what is going on at the local user end with the web store
end. 

The very nature of the system is that users will be changing things
locally, and they will NOT submit most of these changes to the website,
generally because they are will be cosmetic, or functional due to circuit
considerations such as pin function changes which would be pointless
uploading to the site.



What I think is needed to enable this sort of project is:

A system that allows the editing of a library or module as a single
entity, and handles the inclusion of that item into the appropriate
lib or module.

A simpler means of controlling which modules and libs are searched by the
system

A duplicate set of libs and modules that are deemed to be "USER" types.
These would never get overwritten automatically, and they would
automatically get searched along with the main libs. A  part with the
same name in a User lib would have a higher priority than a part in
the main lib. There are other tricks that you could apply, such as have a
option to always use the user part and not even show the main lib part
and so on.

This would allow a standard set of libs to be used, and also provide the
user with a means of grabbing additional libs, and also variations of
parts which the user would download and include in their own USER set of
libs. 

I think that once you have something like this then you would have the
basic tools needed to make use of a web repository.


Andy





Andy

Reply via email to