oTree Forum >

Is oTree actually open source?

#1 by olafghanizadeh

oTree is a very nice project that removes barriers to entry to creating experiments, however, the open source aspect of the codebase seems to be missing. I can't find any way to access the source code of the latest versions, according to PyPi latest version is 5.10.3 from February this year. None of the repositories on Github matches with that release history: https://github.com/oTree-org?tab=repositories

There seems to be no straightforward way of contributing to the project, or fork and make customisations. A pity that any such requests has to go through a forum or an email. 

Please let me know if I have missed something on how to access the latest source code, contributing guidelines or similar.

#2 by Chris_oTree ,

Yes oTree is open source. If you have oTree installed on your computer, you have the source code. The package on PyPI is a zip of the source code.

#3 by Chris_oTree ,

People are welcome to contribute features to oTree. I am currently working heavily with a user who is in the process of contributing a major new feature. If you sent me an email with a contribution idea/request I’m sorry if I didn’t reply yet as I have been focused on these other new features.

#4 by gr0ssmann ,

oTree is not open source. "The Open Source Definition" of the Open Source Initiative (https://opensource.org/osd/) states:

    5. No Discrimination Against Persons or Groups
    The license must not discriminate against any person or group of persons.
    6. No Discrimination Against Fields of Endeavor
    The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

However, using oTree for research without citation is not allowed. Therefore, oTree is not open source because open source software must not impose restrictions on users.

For the same reason, oTree is also non-Free. It violates Freedom 0 of the FSF's definition (https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms):

    The freedom to run the program as you wish, for any purpose (freedom 0).

See also the Debian Free Software Guidelines: https://wiki.debian.org/DebianFreeSoftwareGuidelines

Since every oTree app uses oTree internals and attaches specifically to oTree, every oTree app developed by anyone is a derivative work of oTree. Had oTree a copyleft license, then every oTree app would have to have the same license as oTree. However, oTree has a non-copyleft license, which means that the citation requirement must be understood as an obligation upon the user of oTree - for example, someone re-running an experiment that someone else built - and not the developer of an oTree app, where a citation requirement could theoretically be permissible as an aspect of copyleft. But an EULA that makes an obligation upon a user is incompatible with open source and Free Software.

Note that I am not saying whether that's good or bad or should be changed. Just pointing out the actual definitions. oTree is better described as proprietary "source-available software" (https://en.wikipedia.org/wiki/Source-available_software).

#5 by Chris_oTree ,

Thank you for your opinion but I don't agree with your analysis.

You say that oTree violates "The license must not restrict anyone from making use of the program in a specific field of endeavor". However, "using oTree for research without citation" is not a field of endeavor, or anything like those examples about not being used for genetic research or business.

You also cite "5. No Discrimination Against Persons or Groups" but I don't see how that relates to the point being made.

#6 by gmdcastillo

One thing I think we can agree is that oTree definitely doesn't follow open development. It would be lovely if we could contribute with pull requests and use GitHub to submit issues.

#7 by peterjc

I agree that oTree doesn't follow an open development model. If anything, oTree is now less open than it was - as an example the issue tracker on the core repository has been closed.

Relevant to this discussion, issue 542 was about the GitHub repository missing recent releases - https://github.com/oTree-org/otree-core/issues/542#issuecomment-891813714 - and the code on https://github.com/oTree-org/otree-core/ was last updated 13 Decemeber 2020 for v3.3.6. It was clear that actual development happened elsewhere, presumably in a private repository.

At least oTree is open enough that you can download the source code, and look at changes between releases manually, but that is far more work.

Write a reply

Set forum username