Hacker News new | ask | show | jobs
by AnthonyMouse 2079 days ago
> You can’t copyright a single recipe that contains components of other recipes, but if you had written a book titled “My grandmas chocolate chip cookies from scratch”, where the first recipe is for homemade chocolate chips, the second is for how to grind your own flour for dough, and the third is for combining the previous two into a cookie, then yeah you can copyright that particular set of recipes.

Suppose I want to compile the big book of all known recipes. Then it will contain every recipe in your book, in its entirety, as well as every recipe in every other book. But if I can put the entire contents of your book in my book then what is it that you're really claiming to protect? The order the recipes appear in the book, i.e. the order the classes appear in the file? Which isn't generally regarded as part of the API.

1 comments

With the recipe analogy, I would say that the API would be the books table of contents. The recipes themselves are the implementation. So the question is, should the book’s toc be copyrightable? That is, is it lawful to write another book with the exact same toc, but with different recipes/implementations...
A ToC doesn't actually work like an API.

A ToC cares what order it's in. You can't move Chapter 4 to before Chapter 2 or the implementation has to change. By contrast, the order of functions within a class, or classes within a package, isn't really part of the API -- they're most often in alphabetical order, which is totally mechanistic, and changing the order doesn't change the API.

A ToC is also not a rigid formal specification (like a recipe), but that's the core of what an API is.

> A ToC doesn't actually work like an API.

> A ToC cares what order it's in. You can't move Chapter 4 to before Chapter 2 or the implementation has to change.

This isn't true.

  Table of Contents

  Foreword.................i
  Introduction............ii
  Preface................xvi
  Chapter 1................1
  Chapter 2...............17
  Chapter 3...............30
  Chapter 4...............51
  Chapter 5...............58
  Chapter 6...............76
Compare:

  Table of Contents

  Foreword.................i
  Introduction............ii
  Preface................xvi
  Chapter 4...............51
  Chapter 1................1
  Chapter 2...............17
  Chapter 3...............30
  Chapter 5...............58
  Chapter 6...............76
Note that real-world tables of contents behave in the second way. It's not at all uncommon to see chapters listed in order, followed by other materials (commonly illustrations) which are listed last in the table of contents while being physically interspersed among the chapters.
To clarify what I meant. I don’t think the order matters. What would matter is the chapter and section titles... they are the package names and method signatures.