I have a very beta but working version of my software that might be a year away from full completion and two years away from completing analyses with the software that solves a novel biological problem (hence the paper is ~2+ years away; I do not just want an application note).

If I want to create a Python package and release the code on my github, what are the risks and benefits? I can see several benefits: users, feedback, pull-requests and bugfixes. But what are the downsides? Can it hurt me in any way?

For maximum awkward, the software is just a reimplementation of an old, but widely used algorithm with a software package that is unlicensed (as far as I can see). See here for more info: https://www.biostars.org/p/136001/

**Edit**: is a license enough to protect me (force others to give me rightful credit)? From a protection viewpoint, is there no benefit in writing and publishing a preprint? I'd rather avoid the latter for now; a README.md is good enough for me.
<p>There are more pros than cons. Sharing your beta code and allowing other users to play with it give you feedback, free beta testers and, luckily, new ideas and suggestions (an extra point of view is always fresh and enriching). Additionally, sharing your code could bring you some publication references talking about (free advertising!) and increasing the number of people knowing it.</p>

<p>About the downsides, GitHub allows you to set licenses for your code (MIT License for example), with this you can avoid the only drawback I have found: somebody using your software without referencing it. The license includes the date so your software will always be &quot;protected&quot; against posterior inappropriate use.</p>

<p>About being a reimplementation, there will be no problem while you will always reference the original author.</p>
