this post was submitted on 16 Nov 2023
75 points (93.1% liked)
Programming
17441 readers
243 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If you implement it from fresh then it is a new program. What matters is what your contract says about what you produce - some contracts pay claim to anything you make even outside of working hours.
Also if you rewrite it, while technically it is a fresh project if there are substantial similarities in how you implement it there could be an argument made that you have reused code that belongs to the company. Even if that is technical false it could be something you'd have to defend sometime in the future. As others have said, implementing the program in a different language and using a different methodology wherever possible should help protect against that.
I think the advice others have given that you should review your contract with a lawyer is sound even if this will be FOSS. It's mainly about ensuring you don't inadvertently open yourself to potential legal repercussions down the line, even if your employers at the moment seem benign. If you do work for a company that lays claim to everything you produce even in your off hours then I would strongly recommend you consider leaving or an exit plan, particularly if you are the sort of person who would be working on your own projects for fun or even your own business ventures.
The problem is I learned how to write good code at university and I used what I learned to inform the software architecture. I could write garbage that gets the same job done but isn't maintainable, except for the fact that I want to show this off as a display of my skill. I already did the best I could do on the company clock. If I do the best I can do again, it'll be the same. I can't make significant changes outside of language, variables, and dependencies, because then it wouldn't be as good. The structure I made for the company is simply good design. I don't remember every detail of the structure, but if I tried to rebuild it I'd get the same result. This is a problem with a correct answer.