I'm a web developer, I'm working on a web app as a part of my course at a university. I have recently learned that the university claims the intellectual property rights to everything the students are creating.
As I'm building my project, I'm learning a lot of things that would be very useful in my future career (personal projects and things I will build for my clients).
I'm mostly talking about technical details - tech stack, the project architecture, the way libraries fit together, a way to implement authentication system, a way to build database models, etc. But also some design elements that I really like (specific layout, color scheme, etc.)
Most of these these things are not specific to the app I'm building, they are very reusable between projects, and I'd love to be able to apply the ideas I'm learning (and some code samples, since they're mostly identical between similar apps) in my future work.
Which aspects of this project can I legally reuse in my future work without getting into legal trouble? Can the university sue me for reusing the same auth system, or a similar data model, or a similar website layout?
Where's the line between the code that belongs to the university, and the skills I have developed that belong to me?
(I'm not inventing any kind of breakthrough technology, like Google's PageRank algorithm. I'm just combining the things I'm learning from a bunch of tutorials and video courses from the internet, the rights to which don't belong to me to begin with.)
In the school's case, the IP includes not only things you invent while you're there, but copyright for stuff like text and logos and the content of pages. They certainly don't want you copying that or re-publishing it on your own.
Many people don't know it but there are no trademark, copyright, or patent police. There is no one to complain to if you (or anyone) violates these things. It requires a lawsuit to do something about it. That means the school would have to sue you if they believe that, in the future, you've violated some of their IP rights.
In the case of a patent, the school would have to show prior art (a previous patent) which proves they own a particular invention or that someone else does, either of which could be used to get the court to invalidate your patent (if you tried to file) or to stop you from selling things with their patent in it. That's how it's supposed to work, anyway.
In practice, the only people who do anything with patents are huge companies: IBM, MS, Siemens, etc. And what they do is trade portfolios so that nobody actually sues anybody or even monitors what they're doing. If IBM thinks their patents are worth $20M and Samsung thinks theirs are worth $10M, the companies might agree to license their full portfolios to each other and Samsung pay IBM $10M. Since patents are a game that only lawyers win, these big portfolio holders have figured out that licensing the full portfolio is the only way to make any money or, at the very least, to keep themselves out of court.
Having said that, one cannot patent a specific piece of code (that's copyright, see Google v. Oracle) nor an idea or even a technology. The only thing that can be patented is a system, method, or actual implementation and that's why patents go through so much wording saying "in one implementation, it works like this... in another implementation, you could do this" to show how the patent would be used in a real product. For you to have a patent that anyone could sue you over would require that you file something very specific about a particular (future) invention of yours. Only then would you be open to claims from your former school. Or, of course, if you sell a product that they have blatantly patented.
In the Good News department, a great deal of serious software these days is open source and patent free. Many companies require that their teams choose patent-free software on purpose to keep them out of these imbroglios. So your best shot might be not to worry about it at all. Build something people want, as they say at YC, and let it all shake out! Just my 2 cents.