Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re st: RE: open source

From   "Nick Cox" <>
To   <>
Subject   Re st: RE: open source
Date   Mon, 6 Sep 2004 16:58:26 +0100

I was thinking largely in terms of one's 
_rights in principle_ as a user of StataCorp 
ado code. 

You are quite correct in terms of what 
you can do as a matter of courtesy basing 
your code on StataCorp code. And StataCorp
would look pretty foolish being picky with 
e.g. you because of how you use -ivreg- 
code inside -ivreg2-, not to mention my 
own parasitic efforts. The whole benign symbiosis
between company and user-programmers depends on

But at the end of the day it's _their_ code and 
if need be they would fight with lawyers to defend it against 
abuse. That's not "open source".

Also on readability, I think I agree with you. The in-house
StataCorp style is often relatively sparse on comments, but 
even comments can be over-done. Although I've certainly seen 
user-written programs that were to me essentially 
unreadable, purely as a matter of presentation, I've also 
seen comments not far from 

// here we add the variables 
gen c = a + b 

to which one reply is that if you need 
the comment, you probably shouldn't be trying 
to read the code. 

Contrariwise, I today used a triply nested local 
macro, such as 


Although user-programmers might reasonably want 
an explanation of that, it is hard of think of one that 
is universally satisfactory. 

So, precisely what kind of comments do you want more 

(One prescriptive document on Stata programming style is 
-stylerules- from SSC.) 

Mark Schaffer 

Quoting Nick Cox <>:

> Well, I doubt that StataCorp would want 
> to make claims that just aren't true, 
> or that could be seen as seriously misleading. 
> The executable, and the underlying 
> C code, of Stata are emphatically not open 
> source, and they are likely to remain 
> proprietary for the foreseeable future, 
> and the unforeseeable future too. 
> It is of course correct that user-written 
> ado files are in a fairly strong sense 
> open source, although fairly useless 
> without the executable. Also, StataCorp-written ado 
> files are in a very weak sense also open source, 
> but only because they are visible. 

I'm not sure this is a "very weak" sense.  Numerous users have, I think, 
taken StataCorp-written ado files and changed them to suit their own 
purposes.  Some of these have become available to other users via ssc, 
etc.  I also recall hearing that StataCorp's preference is for commands to 
be in -ado- form, and perhaps the desire for openness is partly behind 
this.  That said, StataCorp ados are typically rather sparsely commented 
and hence not always easy to make sense of.

I would in any case agree with David that this openness is an attractive 
feature of Stata and one that might deserve more prominence and perhaps 
development (making ados easier to read, for example?).

*   For searches and help try:

© Copyright 1996–2021 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index