Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

File headers for proprietary code

1,638 views
Skip to first unread message

jmcki...@gmail.com

unread,
Sep 20, 2013, 9:05:02 PM9/20/13
to
I've often wondered what lispworks and other proprietary code looks like. We see so much open source CL, which may have a license clause and/or description. But I'm wondering... for proprietary code never meant to be published, does it make any sense to add headers to source code files? Or is it enough to have external documentation and CL docstrings? All of this matters to a project I'm currently working on. Not sure if I should add headers to every file or not, since I'm the only developer. ;-)

Barry Margolin

unread,
Sep 20, 2013, 9:24:51 PM9/20/13
to
In article <5cb34c8c-3ffb-40bc...@googlegroups.com>,
What kind of headers are you talking about? You mean something with a
copyright notice? That's a good idea, because if the code somehow gets
out, you don't want someone to be able to feign ignorance that the code
was proprietary and they aren't permitted to distribute it.

--
Barry Margolin, bar...@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***

Alan Bawden

unread,
Sep 21, 2013, 2:29:45 AM9/21/13
to
Barry Margolin <bar...@alum.mit.edu> writes:

> What kind of headers are you talking about? You mean something with a
> copyright notice? That's a good idea, because if the code somehow gets
> out, you don't want someone to be able to feign ignorance that the code
> was proprietary and they aren't permitted to distribute it.

Indeed.

I'd include your contact information as well. At a former employer we
discovered that someone had pirated our code because the pirate didn't
bother to remove our copyright notice before selling our stuff to other
people. We found out about it because a "customer" with a support question
opened up one of the source files, found our name and address, and called
us up. Of course not all pirates will be so stupid...

--
Alan Bawden

Jonathon McKitrick

unread,
Sep 21, 2013, 8:37:27 AM9/21/13
to
On Friday, September 20, 2013 9:05:02 PM UTC-4, Jonathon McKitrick wrote:
> I've often wondered what lispworks and other proprietary code looks like. We see so much open source CL, which may have a license clause and/or description. But I'm wondering... for proprietary code never meant to be published, does it make any sense to add headers to source code files? Or is it enough to have external documentation and CL docstrings? All of this matters to a project I'm currently working on. Not sure if I should add headers to every file or not, since I'm the only developer. ;-)

I'm thinking more about documentation. Sometimes I think the extensive file headers with class/function descriptions are just a waste of space, then I come back to the project after 6 months, and wish I had left them in. So I'm just wondering about other closed source, proprietary projects.

Madhu

unread,
Sep 21, 2013, 9:36:55 AM9/21/13
to

* Alan Bawden <w2dmwn6...@scooby-doo.csail.mit.edu> :
Wrote on Sat, 21 Sep 2013 02:29:45 -0400:
|
|> What kind of headers are you talking about? You mean something with a
|> copyright notice? That's a good idea, because if the code somehow gets
|> out, you don't want someone to be able to feign ignorance that the code
|> was proprietary and they aren't permitted to distribute it.
|
| I'd include your contact information as well. At a former employer we
| discovered that someone had pirated our code because the pirate didn't
| bother to remove our copyright notice before selling our stuff to
| other people. We found out about it because a "customer" with a
| support question opened up one of the source files, found our name and
| address, and called us up. Of course not all pirates will be so
| stupid...

To really protect your code, it is also advisable to mark it as
non-redistributable, Something like:


;;;; Copyright (C) YEAR <your-name> <your-email>
;;;; DO NOT REDISTRIBUTE


Also impose some conditions on the licensed users, in case they are
set-ups of the redistributors. Something like:


;;;; The software MAY NOT be rewritten or refactored by removing the
;;;; use of LOOP or by the introduction of ITERATE or similar iteration
;;;; macros with or without prior written permission. The code MAY NOT
;;;; be packaged and redistributed using the ASDF, ASDF-INSTALL, or
;;;; QUICKLISP package redistribution tools with or without prior
;;;; written permission from the author.


Even if the code is otherwise meant for Public Domain consumption, I
recommend a hardened version of the "advertising clause", [I used the
following when mouse pads were still in vogue]


;;;; subject to the above conditions; and that this COPYRIGHT AND
;;;; PERMISSION NOTICE appears in ALL copies of the software and
;;;; supporting documentation or portions thereof, including
;;;; modifications; and that the name of the author not be used in
;;;; T-shirts, bumper stickers, mouse pads, or any other form of
;;;; advertising, merchandise, or publicity pertaining to
;;;; distribution of the software with or without prior written
;;;; permission from the author.


There may be questions about legal enforcibility. It is becoming
increasingy clear, that some licensing eg. GPL will never be tried in a
court of law. In case of infringement, lawyers are nasty people to deal
with anyway, and it is unlikely that an Independent Software Vendor,
acting alone (TM), will be able to afford the legal expenses to bring
the matter to a judge and see it resolved. So I recommend adding a
pointer to the relevant chapter and verse from The Revelation of Saint
John the Devine so the pirates know exactly what to expect. ---Madhu

Barry Margolin

unread,
Sep 21, 2013, 11:47:24 PM9/21/13
to
In article <75f26d1a-7947-4ac4...@googlegroups.com>,
That kind of stuff is for the benefit of the programmer, not third
parties. So I don't see why it would matter whether the code is
proprietary or not. It's especially useful in a corporate environment,
where programmers come and go -- you want the new programmer to be able
to understand the code.

Whether it's incorporated into the source code files as comments or in
separate documentation files is a matter of preference. However,
comments in the code file are probably more likely to be kept in sync
with the code.
0 new messages