Open Source Experience Talk

Source: Internet
Author: User
Tags hosting
This is a creation in Article, where the information may have evolved or changed.

Bootstrap

The old saying is good: "Everything is difficult at the beginning."

The beginning is essentially a solution to the "Bootstrapping", a metaphor that has been used to describe a way to solve a startup problem in which a person tries to pull himself up with his own shoelaces. For example, pressing the computer button after the initialization system is widely known as Bootstrap boot (abbreviated as booting).

If you want to do an open source project, you need to plan a good start-up method first.

GitHub

More than 10 years ago to do open-source project hosting, there is basically only one choice, that is SourceForge.
There were also project hosting services for other giant companies, such as Project Kenai at Google Code,sun/oracle, which has now been discontinued. Now GitHub is already the world's largest open source project custodian, the biggest reason for this situation is that:

    1. Git version control systems are popular and do a few simpler workflows, such as pull Request
    2. Better, more modern user experience, such as real-time push of issue comments
    3. API open platform to build ecosystems for third-party applications
    4. Continuous improvement, GitHub go out will have some detail improvements, and desktop client tools are evolving

GitHub is the right choice for open source project hosting. There are also GitHub-like project hosting services in the country, such as the Code cloud and Coding, hoping that they will do better.

Repo

The first step in building a library is to decide whether to open a personal project or to organize the project, which is slightly different:

    • Individual projects: If the project is popular generally people will browse the author's homepage and pay attention, in favor of the author himself powder
    • Organizing projects: If you have planned a series of projects from the outset, it is recommended that you choose an organization type

The second step is to need a good name:

    • Related to requirements/technology or some specific meanings
    • Library name naming takes precedence over lowercase, if you need to separate words - , and finally follows the conventions of the development language, framework
    • If the project is a series, you need to consider a good prefix, or follow the previous line to organize the project

Init Commit

Initial submissions as much as possible are the core functions available, so as to give others a good impression. and must write a good README, the content covers at least the following several aspects:

    • Project Description: What is the project, mainly used to solve the problem, this part mainly explains the motive of the project
    • Features: What are the main features and what are the unique features?
    • Installation method: How to install, it is best to introduce the development environment to build
    • Technology dependency: What projects the project relies on to make people generally aware of complexity and difficulty in getting started
    • Open Source agreement: Be sure to let users know, very important

In addition to Readme,github also recommended to add coding specifications, Contribution guide explanation, this can be slowly added later.

The introduction of text is on the one hand, on the other hand is the multimedia format, if you can have the use of video is the best, but at least the project logo is to have, a little ugly at first, it is OK to encourage others to participate in the contribution.

Document

Project hosts typically provide wiki services, primarily for project-related documentation. The biggest benefit of using a wiki directly is that it allows others to participate in the maintenance of the document, such as when there is a typo, other people can easily help to modify.

But the direct use of the Wiki service also has a fatal disadvantage, that is, when the project to migrate the host is very troublesome, different service providers support the document syntax is not the same, typesetting is more troublesome. The recommended practice is that the project's documentation builds a site to manage it, and while the operations are cumbersome, there is no migration problem and a greater degree of freedom.

It is recommended to maintain the documentation through the forum system so that users can ask questions and promote the development of the project community.

Issues

Issue the best way to set up a template, let users ask questions when the rule. However, even if there is a template, issue description is not clear or very common, the user's system environment strange, encounter wonderful system not work is actually normal.

About issue you may face the following situations in the future:

    • Practice using GitHub's
    • Because other software does not use the resulting
    • The catharsis of personal emotion

Good issue interaction situation:

    • The people who mention issue are clearly described.
    • People who mention issue follow the bug
    • Tim Issue's people have finished the incidentally fix

In summary, it is good practice to track management changes through issue, and you can generate changelogs based on issues when you release a version.

However, for issue, I find it more difficult to deal with the situation:

    • The issue idea is too big, the author can't Hold
    • Contradict the author's intention

In short, it is important to do open source is to maintain communication with the participants, users, and other projects with more people will become more responsible, so not too casual, as far as possible to make changes traceable.

Return to Nature

In short, the most important thing to start an open source project is to ask yourself: Why do you want to do this open source project?
The answer to this question will explain the motivation of the project and set goals for the project.

Open source projects are tens of thousands and are homogeneous, but there are always some open source projects that stand out because they capture the essence:

    1. Developers themselves are users: developers themselves do not have to find the problem, especially the late demand
    2. Do really useful things: not necessarily the audience is very broad, but to have just need, can solve the problem
    3. Long-term devotion to emotion: the emotion you put in makes it different, keep it steady

These are all my experiences, and if you want to know more about open source, please visit GitHub's Open source guide.

Author of this article

HTTPS://GITHUB.COM/88250, welcome attention.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.