Re: Licensing and the library version of git
- From
- David Lang <dlang@digitalinsight.com>
- Date
- Jul 27, 2006, 19:49 UTC
- Message-ID
- <Pine.LNX.4.63.0607271245200.11436@qynat.qvtvafvgr.pbz>
- In-Reply-To
- <Pine.LNX.4.64.0607271232090.4168@g5.osdl.org>
On Thu, 27 Jul 2006, Linus Torvalds wrote:
Show 11 quoted lines
> On Thu, 27 Jul 2006, David Lang wrote: >> >>> (*) I will, in fact, claim that the difference between a bad programmer >>> and a good one is whether he considers his code or his data structures >>> more important. Bad programmers worry about the code. Good programmers >>> worry about data structures and their relationships. >> >> personally I'd add to this that after the data structures are defined and you >> turn to the code the API is significantly more important then the code itself. > > I think people sometimes put too much emphasis on ABI's.
I was careful to say aPi, not aBi :-)
> Sure, if you're depending on a library, the ABI is supremely important. > But I literally believe that one of the things that makes open source > technically superior to most other projects is the fact that ABI's can be > changed more easily, and sometimes at all.
very true
Show 8 quoted lines
> If you have good data structures, the ABI's are largely irrelevant, and if > you have a problem with an existing ABI, you can just write a new > entrypoint instead (and leave the old ABI alone). > > On the other hand, if you have bad datastructures, the ABI often reflects > that, and having the balls to say that your ABI's are broken and need to > be re-done in order to fix the data structures is _very_ important. > Otherwise you'll never be able to fix anything.
however it's possible to have a good data structure and a bad API. I'm just emphisising the API over the 'elegance', etc of the code that implements it.
Show 7 quoted lines
> So I think that ABI's are often _way_ overhyped. If they are good, > everybody is happy. But if the interfaces are bad, you had better be > willing to just say "screw the ABI" and just fix it. > > Now, that doesn't mean that you should change ABI's on a whim, and > regardless of any other issues, your user base is always important. But I > don't think ABI's are, or should be, "sacred".
I'm not meaning to imply in any way that API's are sacred, just that they are very important and deserve a lot of thought before implementation.
David Lang