2

I am developing a Java framework/API to solve a problem at a client. The code/idea is my property (not the client's). I think it might be useful for others, so I would like to publish it as a open source project. By publishing I mean bringing it out in the open - making it available as a Maven project.

I can think of conforming to Maven structure, proper documentation/example usage available on a web site, and unit tests, maybe some code coverage threshold. But does it have to be run by some committee? Do I have to present it to somebody? What steps do I need to take to eventually have it available as a Maven dependency?

duffymo
  • 305,152
  • 44
  • 369
  • 561
Kjeld
  • 444
  • 4
  • 14
  • 1
    Yes, github. Better to be with docs. – neohope Aug 22 '16 at 09:21
  • 2
    Interesting topic; but in my eyes it will be drawing only "in my opinion" kind of answers. And interesting setup: normally stuff that you develop for a customer belongs him; not you. I wouldn't necessarily pay a contractor to code open source things ... so you are sure that all legal aspects are cleared; and your customer accepts your idea? – GhostCat Aug 22 '16 at 09:26
  • 4
    for central repository, you need to follow this guideline to publish it: http://central.sonatype.org/pages/apache-maven.html – tonakai Aug 22 '16 at 09:29
  • I'm voting to close this question as off-topic because it is about code distribution rather than programming. – Henry Aug 22 '16 at 09:32
  • 1
    @Henry I'd say asking for steps to release maven projects is ["a practical, answerable problem that is unique to software development"](https://stackoverflow.com/help/on-topic) – kapex Aug 22 '16 at 10:07
  • @GhostCat the client made clear not to be interested in the solution. I was not paid for the time invested and therefore I consider the code to be mine. – Kjeld Aug 22 '16 at 10:14
  • @Kjeld - I'd get all that in writing. Got a lawyer? – duffymo Aug 22 '16 at 12:31

1 Answers1

4

There's no committee or approval process that I know of. All you have to do is put your code into a public Github repo. This is how open source software works.

Per Kapep's excellent suggestion below, you have to choose a license as well. Apache, Creative Commons, Gnu, MIT - these are a few of your choices. Know what they mean before you decide.

Your problem begins on that day - you'll have to make others aware of it and see if it's adopted by others. If it's good, you'll have the nice problems of dealing with a user base and having others change your code. If not, it'll languish in the repo.

duffymo
  • 305,152
  • 44
  • 369
  • 561
  • 4
    Don't forget to add a appropriate open source license. Just uploading code doesn't make it open source. – kapex Aug 22 '16 at 09:34