KLC: policy on obsolete symbols needed

My 2 cents:

Rule 2 would be difficult to establish, especially when there are repair shops stocking old parts to be able to repair old stuff.
I would agree that for many relatively modern parts, this is not a big issue. However, there are many specialized repair shops stocking parts to be able to continue working with tube equipment and parts that are well over 20 years old.

Dropping rule 2 is probably safer. Just mark the part as obsolete when it is no longer manufactured.

And then there are other companies that continue to manufacture the parts…
I propose a new rule 2: There are no other manufacturers for the part.

Already hard to prove and then even when true, someone else comes along and reintroduces it. :wink:

1 Like

The point of rule 2 isn’t that the part is totally unavailable but rather has limited availability. A part stocked by a few repair shops is not a part you want to use in a new design.

There is nothing “unsafe” about marking a part obsolete, it is still available for use although it might be in a different library.

1 Like

“Rule” 2 is a bit fuzzy, I guess what I was trying to capture was that obsolete doesn’t necessarily coincide with no stock available to purchase. I was thinking more of major suppliers, Digi-Key, Mouser, Newark etc.

I’m currently reviewing Xilinx CPLD and FPGA libraries, for some of the older parts there it’s hard to tell they even existed, since Xilinx have the habit of replacing old parts with very similar numbers. In fact, the only place I found datasheets for the old parts was in old versions of KiCad!

The important thing for me is that there is a clear process, rather than exactly what the criteria for obsolescence is. They were really guidelines rather than hard and fast rules.

No one has raised objection to the overall process, so I will submit it for inclusion in the KLC.

1 Like

Someone, I think Digi-Key already has a ‘not for new designs’ designator. Would this be enough?

1 Like

For some reason i get the feeling that a lot of people try to align kicad (or at least the lib) to one particular distributor (or a small subset of all possible distributors). I am not really sure i like that idea.

Lets keep distributors out of the loop here and go on the manufacturer definitions alone plus a defined grace period.

1 Like

I believe that designation is passed on from the manufacturer.

1 Like

[quote=“Rene_Poschl, post:13, topic:9260”]
Lets keep distributors out of the loop here and go on the manufacturer definitions alone plus a defined grace period. [/quote]
Yeah, key off the manufacturers, not the distributors. I don’t think there are firm definitions for terms like “Obsolete”, “Discontinued”, “Not Recommended for New Designs” (“NRND”, or “NR”), “End of Life”, “Final Buy”, etc. I have even seen distributor designations that sound like, “This part is available, but not from us.” (I don’t recall the exact wording).

If the library maintainers make a good-faith determination that a part has not been manufactured by a primary or secondary manufacturer in the last, say, 6 months, or the last known manufacturer has announced termination of manufacturing within the next six months, then mark the part accordingly and move it to a dusty folder at the back of the library.

Dale

There was a similar question recently in regards of the libraries created and maintained by Digikey. Whatever you do, I would try to synchronize your approach, so you don’t end up with confusing notations and policies.

Yes, that was already mentioned. There was no definite proposal made although the approach is similar :

I think we’re going to aim for appending _obosolete or _nrnd or _nonstock to any applicable parts according to its status on DK’s website. If I can figure out a low overhead way of keeping track of obsolete dates, we may roll off parts into an obsolete lib after a certain time frame so the parts can live somewhere and not be completely lost to the annals of history.

I don’t like the idea of encoding a status into the part name, and it seems unnecessary if the part is moved to a different library. Additionally, I think renaming part names is more work for the user than just adding a library to the table.

Sure, that will get rid of ambiguity! There are less then a dozen of big distributors and several thousand manufacturers! Every manufacturer, for the most part, has its own definitions.

Unfortunately, manufacturers don’t necessarily use the term obsolete, or be consistent about how they use it.

I looked up the policy for NXP as a sample, they define :

Status refers to product availability and is tied to Product Life Cycle (PLC) codes. Status notations found on this website include:

Introduction Pending
Available
Not Recommended for New Designs
End of Life
No Longer Manufactured

Available = Active. NRND is “mature, approaching EOL, but still manufactured”. EOL means manufacturing will end in 2 years (specific to NXP). “No longer manufactured” is self evident, but at that point there may or may not still be stock at suppliers.

So we are still going to have to do some subjective interpretation. For NXP, we could say obsolete means “no longer manufactured” plus 6 months. As I said previously, we don’t need to immediately purge parts when some arbitrary period has passed, it’s just the part becomes a candidate for “retirement”.

I would also be wary of making this a hard rule. An active or new part may show “No Stock” across all distributors for greater than 12 months. I have had a couple of cases of this in the past.

Case 1: An active part that shows no stock, ends up having 8 to 10 month lead time (or worse!) due to supplier issues.

Case 2: An active part (like certain FPGAs variations) that show no stock, but can be ordered on request.

I recently did a board build and found no stock anyway of a Panasonic capacitor. Apparently the economy has gotten better, it was a common part, and there was a run on the part. Now reporting a 14 Month lead time.

Very good discussion. Also, I recently downloaded the latest nightly and have been impressed with the library updates. In the past, I was always tweaking footprints and adding to the Fab layer. The latest updates look great. Keep up the good work!

1 Like

Ok to get this to a close how about the following:

In general kicad symbols are allowed to be marked obsolete via the description field as soon as the manufacturer declares the part as obsolete or some other comparable state. (The obsolete tag should look as follows: [obsolete date] date format: yyyy-mm the tag includes the brackets. an example would be [obsolete 2018-01])

One year later it is allowed to move the symbol to a library within the obsolete directory.
If the contributor can show that a part has been declared as obsolete by the manufacturer at least one year in the past, the part can be transferred into the obsolete lib without the waiting period.

Most importantly: We maintainers will not take care of this! We will accept requests to declare something as obsolete. (If the contributor can provide evidence that the manufacturer declared something as obsolete. We will ignore all distributors here! I will not stand for binding kicad to such companies.) But i am not prepared to check all symbols regularly if they are still active. (I already sink way too much time into kicad as is.)

We might add a script that checks the lib regularly for tagged symbols. This script could then move symbols that have been tagged as obsolete into the obsolete libs after the grace period of one year expired.

All of this has lower priority compared to getting the lib ready for the v5 release. I rely on you guys to remind me after the v5 release if non of you have implemented this until then. (I maintain the right not to increase my personal priority for this. For any reason.)

6 Likes

I do not particularly subscribe to the negative image of “a dusty folder at the back”, but I agree with the intent described here. And after all, we are a community, so when a community member shows that some part is mistakenly moved to “the back of the library”, it is easy enough to correct.

To me that seems to be a practical solution that is workable.

[quote=“mifi, post:22, topic:9260”]
I do not particularly subscribe to the negative image of “a dusty folder at the back” . . . [/quote]
My use of hyperbole gets me into trouble again. In fact, scholars occasionally unearth beautiful gems from within dusty folders stacked in the backs of libraries.

The point of this discussion is to develop a process which prevents the accumulation of obsolete parts from either becoming a visual or mental obstacle to using the libraries efficiently, or degrading KiCAD’s performance for the majority of users. I think we have accomplished that and the proposal from @Rene_Poschl is a good solution.

Dale

2 Likes

I like the general policy. However, for a lot of old parts it’s hard to tell exactly when they are made obsolete, or even if the manufacturer has declared them obsolete - the original manufacturer may no longer exist, or the part is simply not listed on the manufacturer website. So putting YYYY-MM is largely a guess.

A case in point: 27128 and 27C128 EPROMs. I believe they are obsolete, but I can’t find a PCN or similar for them. The best I have is a Microchip datasheet dated 2004 which is marked “Obsolete”, or similar datasheets marked “NRND”, the best I can do is put 2004 and an arbitrary month.

Not that it will help with decisions, but as an FYI, Digikey’s part status is normalized to the few standard nomenclatures, so if it says Obsolete, you can pretty much count on it being not manufactured anymore. The normalization is likewise true with NRND and Last Time Buy.

That doesn’t mean stuff doesn’t come back from the dead, actually you’d be surprised at how many products come back after being obsoleted. Sometimes manufacturers shrug it off as if it never happened and make the related documents go away.

Indeed, I think the goals of the official lib and Digikey lib are somewhat different. The DK lib is supposed to be a quick prototyping lib that has a subset of parts that a large cross-section of people might want to play with and could reasonably expect it to be in stock. Given this, the current strategy to encode the status if it’s something other than active and stocking. It’s certainly subject to change with feedback, but that’s the way it has been leaning.

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