My recent chicken scratch, at least, has all been AGPLv3+ licensed which I do believe to be a moral imperative. This puts me somewhat in psychic conflict with our friend Nicolas Martyanof, who thinks skilled programmers should be able to eat several times in one day. AGPLv3 does stop businesses functionally stealing your code, in that once they've got it, their derived code is also share-alike, even if it is Service as a Software Substitute (assuming they got caught just taking your code (I mean, Microsoft's bot's Deep Code)). So I think non-copyleft is wrong. I've basically been staying nonacademically alive on a shoestring with my principles to warm me. *. Anyway, it seems like I should make some money to broaden my scope. You're welcome to convince me against any particular item (please do): 1. Switch from AGPLv3+ to CC/A There's a strategy here: My code is quite idiomatic, so I imagine it would be hard to run off with without also being me. 2. Accept these two deep evils: Dual license / wrapper real CC/A projects with the proprietary license necessary for the Apple store and the Steam store. I think this is bad, and my real projects will be CC/A BSD ports. a. Apple people are used to things being very expensive; let them buy cake b. Steam on Ubuntu (is a vm sufficient?). ] I'll try and protect myself from those proprietary black boxes, but basically I will make CC/A software purchasable in those places. I don't recommend that you have any Apple store or Steam store capable devices, and do recommend that you get software from me via BSD ports (WIP). Technologically: Rather than handcrafting works of learning and insight, in this epoch for this purpose I am going to try very hard to stretch CLOS, imagine: (defgeneric play (obj)) (defclass simfarm (modern-era agriculture single-player birds-eye month-minute strategy game simulation) ()) (play (make-instance simfarm)) (defclass simant (modern-era first-person-controlled formicidaic birds-eye minute-minute minute game simulation) ()) (play (make-instance simant)) Basically try and make each parent class abstract a common feature in two otherwise different games. (simant is first-person-controlled, hocuspocus is first-person-controlled) ; and then smash dual game superclass abstractions together in a reckless and irresponsible manner. I want to explore this as a challenge to the current flight of code generators since I think multiple inheritance and method composition is a kind of code generation. *[In which I described how I am stuck to hopefully stable public healthcare for prohibitively expensive treatments]