One of the more publicly visible outputs of the 3Helix project is the computer code we produce. At the center of our code output is the CSnap project. The core of CSnap is to create an environment for computer science and mathematics that allows exploration of these important STEM concepts through an awareness that cultures operate within these mathematics. Two particularly powerful examples are Cornrow Curves  and Adinkra carving simulations. 
But 3Helix is more than just CSnap! There is a plethora of other code that makes up the 3Helix program: controlling Arduinos, GIS databases, and web front-ends are just some of the examples of other code developed to promote STEM academics and social justice. But with all these independent code projects comes an important question that has implications for the spread of social justice on the broad scale, as well as securing the future of the 3Helix program more locally. What licensing is most appropriate for these projects? A critical aspect of the social justice aspect of the 3Helix program is focused on making our code available to everyone in order to have this code produce socially beneficial outcomes that we as fellows could never imagine. Free Software licensing is the socially responsible way to achieve this goal. However, Free Software licensing is a much more nuanced endeavor than simply announcing “our code is free for everyone to use!”
As a Free Software developer, this nuance is a focused interest of mine. Not licensing the code is not an option: failure to license code retains all rights to the author, effectively killing any hopes for reuse.
For reasons of inheritance, the code for CSnap is licensed under the GNU Affero General Public License, (AGPL),  specifically version 3 of the license or any later version, a spin-off of the more popular GNU General Public License (GPL).  Both licenses say that when a user is given a program, they are also entitled to the source code that created the program. The primary difference between the two licenses revolves around the question of “Who is a user?” For the GPL, a user is someone who receives a copy of the program in a local manner: think on a CD or downloaded to one’s hard drive. The hole in this definition is that software that is used solely online, things like Facebook, have no users as defined by the GPL. The AGPL closes this hole by redefining a user by anyone who uses a piece of software, regardless whether or not that person has received a physical copy of the program.
What this means for CSnap is that anyone who uses CSnap is entitled to a copy of the source code. This entitlement is fulfilled by the offering of CSnap source code on our GitHub repository. 
The problem going forward, however, is what license to choose for our other projects. The AGPL is not always an easy license with which to comply: it forbids linking code licensed under the AGPL with code licensed under a different license. The only exception to this is the GPL itself, but only if using the most recent AGPL and GPL versions and only because the authors of both licenses had to explicitly write in that exception; in code lingo, they wrote in a “hack” to make the exception work.
While relicensing CSnap to another license is likely impossible, as it would require all previous authors to agree to such a change, we should turn our attention to our other codebases in the 3Helix program. While the AGPL and GPL can be good licenses to proliferate code, it is probably not the best route for the 3Helix code: it would, almost counterintuitively, reduce the ability for our code to be used for social justice. Both the AGPL and GPL may impose too many restrictions for others to reuse the code.
Instead, more permissive licenses, such as the 2-clause  or 3-clause  BSD or MIT  licenses, allow for greater use and reuse of our code. These licenses establish minimal barriers for code reuse. If our initiative is to generate social justice, the greater number of hands we can get using our code the better we can achieve these goals.