I don't think that's safe to assume that different authors won't write for the same device.
I did not assume that. I've even written that the same author may write more than one lib dedicated to the same subject - meaning simply that author's name or it's abbreviation is not enough to discriminate between libs.
Look at the proliferation of LCD/GLCD/TFT libraries and drivers. And the thing that started this thread - the conflict between the mE FAT16 libraries and Dany's FAT32 (named simply "FAT") project.
The conflict was caused by declaring a record type named 'Part' in definition file of the official lib. That's really bad programming practice to use such simple names for types - probably a mistake, judging by other identifiers in this library, and probably never used in the library itself. It only shows that guys at mE are human
The only way to avoid conflicts the way you envision is to enforce a stronger framework for naming libraries for these common and yet diverse libraries, and trying to coordinate ahead of time.
I'd use the word 'encourage' rather than 'enforce'
, at least in regard to users (mE developers have it probably enforced by managers and those have it enforced by us, users
). Otherwise you may soon find no available user libraries
Obviously, I have nothing against using good programming practices (also in naming of identifiers in libraries
) and I'd like to see them popularised on Libstock or anywhere possible. Let us just preserve some common sense and do not try to enforce something that's not possible to enforce. This isn't a new problem and good solutions were worked-out decades ago. There are much bigger communities of programmers that somehow manage to distribute libraries without any 'normalising bodies'.
Seriously, the most important thing is a feedback between library author and it's users. As long as there's such a feedback, all problems may be solved. If there's no feedback, even best library will not survive passing of time. Same is true for our contact with mE - as long there's a strong feedback, compilers (and sometimes even official libs
) improve fast. (Unfortunately, there are signs of a worrying change in policy. Judging by latest anouncements, mE intends to separate beta testing process from general public
. That didn't work well previously.)
There's an old saying: if architects built buildings the way programmers build programs, the first woodpecker to come along would destroy all civilization".
This saying is about professional programers
, not hobbyists