📜 ⬆️ ⬇️

What you need to do before putting open source code

Posting a project with an open source code is more than putting code on the Internet.

Interest in open source software has been growing for the past 10 years. Linux is in washing machines and combat drones. Most programmers cannot imagine their life without a wide range of free and open tools at their disposal.

The flip side of this remarkable trend is that when you release an open source project with new source code, you are in a zone of tough competition.
')
How can you help your project to be noticed?



Before you open any code, I answer the questions that are outlined in this article. But not necessarily in the same order.

You can follow each item of the checklist, or only parts of it. Remember the goal - to help others learn about your project, quickly figure out how to use it, and take part in it.

License


Without a license, your project is not open source software. Read more about it here .

Some licenses may look like they are suitable for licensing open source software. But they do not have that right. Check out the list of licenses approved by OSI and FSF .

Check out what licensing projects have similar topics. Read more about license compatibility here .

Site


Readme on Gihub, profile on SourgeForce or specialized sites . Your project needs to have its place on the Internet.



Screenshots and diagrams - an easy way to capture the attention of the reader.

Surely you will want to hear the thoughts of people who are interested in your project.

Availability


This can be npm , gem or crate . If your language has a package management system, your project must be registered to it.

The ability to install software from familiar sources is the pinnacle of your user's comfort. If you have time, take care of hosting your project for Fedora , Debian / Ubuntu, or Homebrew .

Using the automatic installer, your project can be started and installed as easy as installing a package with regular tools. If creating a package doesn’t wash for your project, write an easy installer / installer (like this or this one )

Documentation


The easier it is to install and run your project, the more likely that someone will try it.

In addition, to give the opportunity to "try" your project, the interface / API links are extremely important if someone really wants to use your product.

Search functionality will make your documentation more useful. Even if it is only one page with ctrl-f in the browser.

Perhaps you want to mention how to build and debug your project for those who want to take part in its development.

Bugtracker


Even if you haven’t found any bugs now, make a few tickets for things you want to improve or do next time. You never guess who can find them.

Do some really simple tasks to get those who are just starting to program for open-source projects. Dividing a function into two or deriving an additional command line argument is a wonderful task for those unfamiliar with the project code.

Make sure all tasks are well described, and other programmers can easily work with them if they are interested.

Instruments


The test suite makes it easy to check changes for compatibility with the remaining project code for programmers who participate in your project.

At the start, attention, release!

If you answer yes to all questions, your project will be very successful among other open source projects. Do not worry if you fail to do everything - even small steps work for you.

And when the first developer comes and writes something in the code, do not forget to mark it like a dude from the “Big Lebowski”:


Just from Illinois

If you know what else you can add to this list, write in the comments to the article or on Twitter to the author of the article: @radekpazdera.

Source: https://habr.com/ru/post/303200/


All Articles