9 ms·
The /bin/true Command and Copyright (2009)
- kodah 5y agoThe one confusing thing to me about this is that you're not supposed to append copyright years to a notice when the contents have not changed, yet this script got copyrighted all the way to 1989.
- teddyh 5y agoI’ve heard that, but I’ve also heard that the year is supposed to be updated whenever it’s published again.
- bdowling 5y ago> you're not supposed to append copyright years to a notice It shouldn't matter because the date of actual first publication would control, not what is on one particular notice.
- kevin_thibedeau 5y agoThe date of revisions extends the copyright beyond the original cutoff date.
- bdowling 5y agoA later date on a subsequent publication including revisions doesn't extend the copyright term of the original material.
- lamontcg 5y agoWe used to do this at work. Then someone bumped the date in every file. I can point to PRs that copypasta'd old dates in from people who copied the notice from deeply ancient source files and claimed a copyright date ages in the past. Or files that were updated and nobody bothered to bump the date. As a result I ripped out all the dates, with the blessing of our legal department, because they were next to useless. We've got a git history and while the dates there aren't perfectly tamper and error free, they're vastly better than all the nonsense we had our headers. Pretty sure these dates are a software development legal cargo cult and would encourage anyone who disagrees with me to actually sit down with their legal council and go over the issues and publish a nice medium article if you think I'm wrong. And make sure to spell out issues like this one which opposing council would be sure to use where the date bumping on /bin/true is a clear violation of policy. At best it seems legally useless and at worst you've got a policy that opposing council can probably slam dunk prove that you are not following.
- Cyberdog 5y agoBut by updating the copyright year, haven't you thus changed the file's contents? (Please read this comment as written in the same tone as the original article.)
- deleted 5y ago[deleted]
- IgorPartola 5y agoWell damn. I guess I can’t use blank lines in my code anymore. This is going to be rough. Also are there any copyright koans? As in a copyright notice that copyrights itself?
- pbhjpbhj 5y agoJust copy them from public domain works! Or, come up with the independently - an absolute defence to copyright infringement.
- User23 5y agoI vaguely recall seeing a license that claimed the license text itself was under copyright and it included a license to use the license. I’m not a lawyer though so no idea if you can actually copyright a license text.
- chrismorgan 5y ago(1990), or perhaps as late as (2009) if you have the right sense of humour. Previous discussions: • https://news.ycombinator.com/item?id=3528663 https://news.ycombinator.com/item?id=3528663 in 2012 • https://news.ycombinator.com/item?id=15457281 https://news.ycombinator.com/item?id=15457281 in 2017
- ineedasername 5y agoThe court transcript of a copyright lawsuit would be hilarious: --What is the copyright content? Nothing. --Are you saying that that you have no copyright? No --Okay, can you then give me a summary of the content? It's nothing And so on.
- dane-pgp 5y agoI'm sure expert witness Bud Abbott could clear this all up for them.
- TheDong 5y ago> So if you use blank lines in any of your files, you are in blatant violation of AT&T's copyright claim Independent derivation of a work is defense against copyright infringement. Even if the copyright on these blank lines were to be valid, it would be reasonable to claim that your own use of blank lines was independent, not a derivative work copying from theirs. Patents do not require actual copying to infringe, but copyright does. If you can prove you did not know of the original work, or otherwise would have come up with the same thing on your own, that's enough to absolve you of copyright issues.
- Miiko 5y ago> Patents do not require actual copying to infringe, but copyright does. In other words, if you use Ctrl+C, Ctrl+V to copy these blank lines, then you infringe AT&T copyright. If you don't and add blank lines by other means - you don't ;)
- VenTatsu 5y agoProof of direct copying may not be required, if AT&T can instead prove Access and Substantial Similarity. For access it could be a little tricky, certainly every one that has posted a reply here has had access, and if this post is popular enough it could be argued anyone could or has had access (this happened in some music cases in the last few years). For Substantial Similarity your definitely in trouble if you have exactly 3 blank lines and probably in trouble if you have 2 or 4 blank lines, but you may be fine if you have like 6 or 12 blank lines. While I'm being a bit sarcastic about the number of lines being "substantially similar", the legal standard in the US is not if you actually copied something, but if the plaintiff can convince a judge/jury that it's more likely that you copied it than it is that you created it on your own.
- bdowling 5y agoAdding copyright notices to every source code file is reasonable because it costs next to nothing. Figuring out what is copyrightable, on the other hand, is expensive, because it requires lawyers, and a waste of time because lawyers' answers are always "it depends". You never actually know how enforceable your copyright claim is until you actually litigate, which is REALLY expensive.
- oconnor663 5y agoYeah this is funny, but it's not stupid. It's also a lot simpler to have a company policy that says "every code file should have this boilerplate at the top of it" than to try to specify exactly what does and doesn't. You could even check for this in your CI pipeline, to avoid wasting time debating it in code review.
- cperciva 5y agoAdding copyright notices to every source code file is also pointless, since copyright notices are no longer required to obtain copyright protection.
- axiosgunnar 5y agoIt might help to prove intent when somebody does violate a license (they cannot say "oh wow this was copyrighted? i totally didn't know!")
- TheDong 5y agoI don't think that follows naturally. The default if code does not have any notice anywhere is that it is copyrighted, and no license is given to anyone to use it, so any use of it is a violation. At least in the US, all creative works are copyrighted by default (such as this comment, which does not include a notice of such, but is copyrighted). Because of that, the default assumption of anyone would be that anything is copyrighted and cannot be used for any purpose outside of fair use unless there is a specific license granting additional usage.
- KETpXDDzR 5y agoThat's fair use, not a copyright violation. Google: "(in US copyright law) the doctrine that brief excerpts of copyright material may, under certain circumstances, be quoted verbatim for purposes such as criticism, news reporting, teaching, and research, without the need for permission from or payment to the copyright holder.".
- kragen 5y agoSee also https://www.telegraph.co.uk/culture/music/rockandjazzmusic/3583315/You-cant-copyright-silence-theres-too-much-of-it-about.html https://www.telegraph.co.uk/culture/music/rockandjazzmusic/3... (https://archive.is/sjYJG https://archive.is/sjYJG), where the rumored settlement payment was £100,000.
- deleted 5y ago[deleted]
- bdowling 5y agoSometimes parties pay what seems like a lot of money to settle dubious claims because it's cheaper and less time-consuming than fighting them. That can be completely rational. But paying £100,000 for infringing one minute of silence is just ridiculous.
- kragen 5y agoWell, he sold a lot of copies of that one minute of silence, so I think the real question is whether it was copyrightable. I mean, if the answer is "yes", then the following question is what reason there is to suspect that the government that made it copyrightable is anything more than a criminal racket.
- bdowling 5y ago> so I think the real question is whether it was copyrightable. Whether a particular thing is copyrightable or not is a question of law and fact. The government will accept your $25 for a copyright registration on anything you submit, but they don’t check if it’s copyrightable or not, if you own it or not, etc. So, no one knows for sure whether that one minute of silence is copyrightable or not until someone challenges it in court. Until then, all we can say is probably not, based on prior cases.
- IAmEveryone 5y agoThe liner notes included an attribution to John Cage, making the case somewhat more complicated.
- mseepgood 5y ago> So if you use blank lines in any of your files, you are in blatant violation of AT&T's copyright claim. I think it has to be exactly these three blank lines, not just any three blank lines.
- dane-pgp 5y agoDoes someone need to write an essay titled "What Colour is your whitespace?"? ref: https://ansuz.sooke.bc.ca/entry/23 https://ansuz.sooke.bc.ca/entry/23
- sys_64738 5y agoCompanies have to vigorously protect their intellectual property and copyright of source regardless. If they fail in one instance to assert those then it can badly impact them when it matters.
- kevin_b_er 5y agoThis is false in the United States. Failure to assert copyright does not relinquish it. Trademark does, however, because it is connected to brand recognition concepts.
- charles_f 5y agoReminds me of a CEO I used to work for who realized that old blog articles (which no-one was reading anyway) were copyrighted of the years they were written, and made a fuss that "no-one is paying attention, these details are important for our image, we need to show that we're up to date". There was no explaining him that this is not how copyright works, what's important was that we remind people of the current year.
- lixtra 5y agoI heard this about brands. Do you have examples for copyright?
- cowturds 5y ago/bin/true is backwards then since 0 usually means false > Zero is used to represent false, and One is used to represent true. For interpretation, Zero is interpreted as false and anything non-zero is interpreted as true.
- anyfoo 5y agoNot in this context. In POSIX exit codes, 0 means “no error”, i.e. success. && and || in the shell even work like that.
- bobbylarrybobby 5y agoShell commands use an exit status of 0 to indicate success, and any other number indicates failure
- cowturds 5y agorewrite in C++ to avoid copyright https://lists.freebsd.org/pipermail/freebsd-questions/2012-January/237820.html https://lists.freebsd.org/pipermail/freebsd-questions/2012-J...
- amacbride 5y ago“Note that there is one less blank line here; it has been replaced by the #! line. But otherwise it is identical. Sun has merely passed on the copyright notice. I wonder if Sun has written permission from AT&T to use blank lines in their code?” Fun fact: SVR4 was a joint AT&T/Sun project, so this was a SunOS file originally — I believe the “SMI” in the #ident line stands for “Sun Microsystems Inc.” and was a standard feature of all our SCCS identifiers.
- viseztrance 5y ago> The /bin/true (or /usr/bin/true) command is now nearly obsolete, because most extant shells now have a builtin "true" command. But it's still useful occasionally, for various silly reasons [...] This make it sound like this is useless, but I disagree. For example, recently I had some games crash because they couldn't find pulseaudio, and making a symlink from pulseaudio to /bin/true fixed my issue (and yes, they had sound). So there are certainly legitimate uses for it.
- jzwinck 5y agoInstead of a symlink to true you could have made an empty script.
- michaelt 5y agoAnd violate AT&T's copyright? Perish the thought!
- viseztrance 5y agoWell the symlink command was also easier to share with others having the same issue, whereas a one liner that creates an executable script which returns 0 is less ideal.
- cmeacham98 5y agoAn empty script returns 0 by default, thus `touch /path/to/missing/library` is a sufficient (and shorter!) one-liner fix to this problem.
- viseztrance 5y agoI know, but you still have to make it executable, hence it's not as convenient. And on top of this, an unlink is less error prone than a rm -f.
- NullPrefix 5y agoI would like to point out the obvious fact, which is newline characters. Even if those empty lines were empty, they still had \n's , maybe \r's too.
- smsm42 5y agoOn macos, /usr/bin/true is 118K, not counted the linked shared libSystem.dylib. I wonder what did they put in there? Doesn't seem to have --version or any GNU bells and whistles of that nature.
- xxpor 5y agoHow big is a basic hello world compiled with -O3?
- ziml77 5y agoBased on a quick check of the disassembly, _exit is dynamically linked. It appears that because of that dynamic linkage, there's some information stored for dyld to use. That data seems to be split across a few sections which are loaded with padding. It's also a fat binary. It contains both an X64 and AArch64 version.
- ziml77 5y agoI should add that it really is doing nothing other than calling exit: EntryPoint: push rbp mov rbp, rsp xor edi, edi call imp___stubs__exit imp___stubs__exit: jmp qword [_exit_ptr]
- mro_name 5y ago> This prevents AT&T, Sun or SCO from taking the GNU code, claiming it as their own, and suing the linux crowd for infringement. you see, no matter how trivial the matter, the lawyers manage to have their share.