Re: Licensing and the library version of git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 27 Jul 2006, Linus Torvalds wrote:

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

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.

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
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]