Development: How to do an open source project (Part II)

Development: How to do an open source project (Part II)

Continuing operations

The project has a certain size and progress, the need for continuing operations, let more people know and use. Operations not a viable technique for programmers, or lack of skill or. The simplest means of operation, that is, some of the technical community share the "soft paper", iView is doing so at an early stage, but also summed up a "500 star's Law", that is to say, every share articles, almost able to bring in GitHub 500 star. star for an open source project, that was very important, it directly determines whether the user will select your project, but users are programmers, not stupid, if low-quality projects, the star becomes worthless, also bad reputation. Remember, do not brush star, comparable to the front circle entertainment, it will be miserable being targeted.

Of course, not what can be made, such as updating the log, better not made, unless such large as 2.0, 3.0 version. Even the fat content updated version of the large, does not mean that the update log one get away, if you pay sufficient attention to your open source project, we should pay attention to every article, the update of the core ideas clear. Typical case can refer iView:

The importance of the title would not have said that in the era of information explosion, your title is not attractive, no one at all.

Currently, there are several community is worthy of attention and the accumulation of fans:

  • Nuggets: more active community of programmers, Front End Properties thick, community operators do well, there is support for open source projects, related articles debut, the official will give some resources to support.
  • Know almost: Flow largest community, the big V property, if you are entering almost know, can contribute articles to the popular column, such as front-end review foreign periodicals, such as the front end of the summit. At first because he is not a fan of subscription, no one would see published, submission is not the same. Moreover, the praise of a large V, that effect is like winning.
  • v2ex: do not explain, is very fire community.

Open source projects, usually hosted on GitHub, but also be open China (Gitee) synchronous copy of each version update log can be in the form of news, open source Chinese to contribute. Open Source China at home or have a certain influence.

In addition to publishing the article, some of the techniques can also share the concern of the General Assembly, in the name of the company may apply to become a guest do share. If given the opportunity, but also to other companies to do technology sharing, especially large companies, these are rare a good opportunity to promote open source projects. Your open source project, if there are several manufacturers of this type of use of BAT, it will become a source of confidence defenders, community and see who the user.

There are conference. In China, engaged in open source projects conference, as far as I know only iView. Yes, 18 July, iView engage in a new conference, carried out under the wire, broadcast live online, there were more than 20,000 online users to watch, promotion effect is good. A "qualified" activities, to be divided before the event , event , after the event . A month before the event, we should spread the news, so that users have a preliminary impression among some of the activities you can also broke the news hot spots; activity underway, there must be someone responsible for on-site, but also to interact with the audience; after the event, to add class, finishing as the core content of the text, made out in the first time through official channels. The campaigns, the company did not support individuals difficult to accomplish, because it is not a matter of two people, a lot of work needs to be done with the staff, Behind the Scenes, broadcast network, on-site wifi, but also deal with all kinds of breakthrough situation, however, the most important thing is to prepare a plan of activities, otherwise everything is on paper.

Talked about this, you might say, technology honestly do not they, have to get these bells and whistles. Indeed, promote it, do not have to open, and honest to do no wrong technology, promotion of open source projects just to let you communicate faster to the target user. The purpose of these things on a, so that more people use your open source project, so that more developers involved contribute code.

Finally, if your company or team availability of funds, the appropriate put a little ad is good.

globalization

Is the time with the world. In general, internationalization (Internationalization, referred to as i18n) divided into three parts, the first is your open source project supports multiple languages ​​for the UI component library, this is still well supported, only need to provide a multi-language profile on the line, one for each language file, then the contribution by the community more languages. To Vue.js for example, the community also provides vue-i18n plugin, your component library also compatible vue-i18n, may also be considered compatible with multiple versions of the mainstream.

The other part is an international document, in addition to Chinese, should at least provide an English version, after all, be regarded as common English language. If the document is not much content that allows the community to provide more translated versions. Maintaining multi-language documentation is a very hard thing, which means that each version updates are bilingual, document translation is not to say it again on the matter. Fortunately, the translated document is a one-off technical activities, pre and more enthusiastic users looking for some good English translation together, just make sure that behind every update remain bilingual enough.

Do international, meant to serve international friends, we can not force them to use micro-letters or QQ. In the open source community, it is more common Gitter , once associated only need a GitHub repo on the line. In addition, the official can open an account in Twitter to update some of the dynamics, interactions with other Twitter. Discord is a technology circles App more popular to Vue.js, you can join a named Vue Land server to find something # ui-libraries channel, we can discuss the component library and developers around the world topic.

Support for international, short term, is to pay a return than a low thing, but the long-term interests, support for international help more foreign developers become the core maintainers, so that the world can get involved , is where the significance of open source.

Let more people involved

Open source project is never one thing, a robust open source project, someone needs to continue to contribute code. In the project we have a certain visibility and use of the crowd after, naturally there will be a lot of PR in, well-known open source project contributors have hundreds of people, even if modify a line of code, as long as the merge, even if a contributors. Most central defenders generally not more than five people, and in addition to the author, many of which are staged, after all, is open source, most people still do part-time, is able to contribute a little bit, no busy to attend to business a.

Open-source project to contribute code, mainly in the form of PR were, as owner an open source project, even if other members of the organization have permission to directly commit, should also advise them to submit PR, rather than directly commit, owner needs to seriously review a PR every to ensure code quality. Fix a problem of fear, caused new problems, and reproduce or cause problems have been fixed before, sometimes, contributor may be just to fix one issue, but it is unaware of the entire project, but the previous " what happened, "do not know, cause some problems he can not see this situation as an owner should seriously examined.

There are many ways to participate in an open source project, but the most direct PR, you can also review issues. When the project active, every day there are a lot of issues come in, owner may not have time to in time, but you can play label (labels). A issue marked the label, explained that it had reviewed this issue, a common label are the following:

  • bug : has been identified as the bug;
  • Request Feature : request a new function has been determined;
  • invalid : Invalid issue, generally directly off;
  • It is available for purchase contribution : owner may temporarily not have the energy deal, expected to contribute code to the community;
  • Example Provide : Issue a need to provide reproducible example;
  • the Discussion : temporarily unable to determine the need for further discussion;
  • BE at The Future Supported in May : first mark, and maybe in the future will support.

Another way is to use good management issues milestones (milestones) function. According to the version number of milestones can create, add the desired into the issues addressed in this version, before the onset of the current version of all issues milestone centralized view, if all the processing is complete.

There are some valuable of issues likely to consume a lot of energy on, and the community a lot of users want to be able to solve, owner certainly want to deal with, but there is no time. This situation might paid a reward , a new recommendation from the foreign community IssueHunt , the user can raise a repo is a public issue of who to deal with, you can get all the bounty.

After each release, remember to create a release, This one has a local version of the update log record, and second, people watch your project can be promptly notified by mail reminders to upgrade, the third is going to hit a release tag, other contributors can switch to this tag. release is best not to create a version before it is sent, or finishing up very strenuous, it is recommended after each release published on the next release as a new version of the draft (draft), a process issue, it is a record, to avoid missing.

The version number is a luxurious, such as 3.2.1, the last one here, representing only bug fixed, a representative of the middle there are new features, the first representatives break changes. In general, except for the first one, the rest of the versions are compatible, that will not affect the current user upgrade project, if there is a change of API, you should release the first version number.

The more active contribution to the code, the more contributors, the more robust open source projects, as owner, should promptly contact a valuable contributor to a person's capacity is limited after all. When you speak different languages ​​around the world of people, complete with an open source project, will feel open source is really a great thing.

Let the Robot do the "bad guys"

Open source projects have a certain scale, the community will be very active, there will be a lot of issues every day, these issues piled up, not promptly disposed of, it is the mental stress of the owner. Early in the project, due to limited users are encouraged to raise issues, suggestions, feature requests, bug feedback, questions counseling and other content can be submitted, and the authors have enough time and energy to seriously answer. To a certain size, what issues are likely to arise, including some with malicious verbal attacks, if direct closure issue, is likely to continue, "entangled", said the owner bad attitude like, these are the author personal experience before.

In addition to malicious issues, there are many issues does not meet the formal requirements, did not even code formatting, and even questions are not clear, nor does it describe it a title, these issues a valid replies will occupy a lot of energy, It did not directly say how close will be closed the deal, refused to concede defeat.

Then you need a GitHub robot to act as the "bad guys", which is registered to another GitHub account, use it to deal with issues that do not meet the requirements, this is a very smart thing to do, to live these issues are so close to the robot operating. For example, iView of the "bad guys" is the iView-BOT , but it is an intelligent robot, does not require owner control, it will automatically shut down substandard issues and respond to the questioner. GitHub provides an API and issues to receive each operated by API issues, including the closure, tagging, response, and, as long as sufficient to set permissions on the robot line. IView issues such as the robot code https://github.com/iview/iview-bot . If users submit issues directly through GitHub, the robot will immediately shut down, and reply:

Hello, this issue has been closed because it does not conform to our issue requirements. Please use the Issue Helper to create an issue - thank you!

That is, the user must pass Issue Helper submit issues on this page can not be submitted through it, it will be detected immediately closed. On this page, you need to provide a detailed description by form validation. issues only accept bug reports or request new features (feature requests), for the use of other issues consultation, can not submit, but to encourage the community to discuss Stackoverflow like. If Bug, also must provide a recurring problem of online links, and detailed reproduction steps can be minimized.

robot also has a role: Translation. It will automatically translate the Chinese issues and translate content automatically create a reply in English, but the title will be changed to English. This open source projects to scale, users and contributors is not only the Chinese people, and developers around the world are using the English make everyone understand issues.

Although the robot can automatically filter unqualified DELINQUENCY 80%, but there is still trying to profit from the user to skip the authentication, then you can set some quick reply to the robot, to artificially comment & close:

  • Hello, this issue has been closed because similar problems exist or have been explained in the documentation, please check carefully. 已有相同 issues,或文档有说明

  • Hello, this issue has been closed because it is not required to submit or describe is not clear. 描述不清楚

  • The Hello, the this has been Issue Closed Because IT has Nothing to do with at The bug Report or the Feature Request . Maybe you CAN ASK Normal Question through SegmentFault or StackOverflow . Not a bug feedback or feature requests, please go to community discussions

  • Hello, this issue has been closed because it is not a bug, but a usage problem, please consult other communities. 用法不对

  • . Please code the Provide Online Quickly by You CAN AN Example a using the Create Online at The following Link: https://run.iviewui.com/ . No online example

Actually, the "bad guys" is not so bad, it was quite lovely.

Sponsorship and commercialization

The development of open source projects is inseparable from financial support, sponsorship is not a "shame" things to the community, but for granted.

The easiest way is by sponsoring a two-dimensional code is a reward, but this way there is little use in the country, Chinese developers is mostly "empty pockets", and because of the anonymity of a reward (micro-channel), received from time to time a penny, also the Oh.

It is recommended several relatively good "fund-raising" approach: patreon and opencollective is the most commonly used open source projects can support one-time or periodic, in US dollars, can go to PayPal. However, both of which are dollars, and go to the owner here, net of fees may be a lot less, but for the sponsor (often corporate), the advantage is that there is an invoice. Another way is to be sponsored by Open Source China Open Source users in China is still relatively generous.

Another is advertising, is recommended Carbon , different from the Google Ads that its advertising is Internet-related, and style is fully customizable, very beautiful, will not let users generate resentment, according to ad impressions and clicks conversion cost. Carbon, head of the Chinese market is very slip oh Chinese, as Chinese developers, do not worry Tanbu Lai.

But then, most recommended or access to brand advertising , but only if you have a certain document flow. Documents open source project has the biggest feature: visitors almost all programmers, so if you hang a lot of advertising, will be sprayed almost dead. Online education, cloud hosting providers are a good choice. Generally no one will take the initiative to contact the owner served, unless, as Vue.js this level, but you can try to send a friendly message to ask. I do not know to whom? Tell you a good idea, to other communities (such as v2ex) to see what has put the gold master to know, since it has been put, indicating the ad serving needs, and is a potential target "customer."

Come to talk about commercialization.

Open source does not mean free, depending on the open source license, and some in the open source software for business, you may want to purchase a license, the source code is open, but not necessarily free of charge. But able to charge licensing fees, also shows that your software is really irreplaceable. Enterprises in order to avoid unnecessary disputes, must be willing to buy your software. But for most MIT open source project, it can be commercialized? The answer is yes.

First of all you know, be able to pay, they are businesses, rather than individuals, individuals have not paid necessary. A more common pattern is the software free, then can provide additional consulting services or paid consultant to the company. Most people understand open source project, this project is definitely the owner, if the enterprise is the depth of the user, is still very willing to pay some fees to ask questions of. I was doing to B business, our company is doing to B, most company executives from Oracle (to B is relatively large enterprises), so I business services also have an understanding, a good product, definitely a plus technical advisory services.

Commercialization there are still many ways, it depends on the specific type of open source projects. A component library, for example, which itself is free, and free unlimited use, but may offer paid or advanced template system components, as well as other eco-products, such as IM-based system component libraries.

Of course, not all open source projects to be commercialized, most of them are completely free, there are pros and cons of commercial, if not a certain strength, likely messed up Oh!

Above, that I engaged in more than two years a number of open-source shallow experience, we hope to give you a clever help.

Epilogue

Each developer, you should try to maintain an open source project.

Each developer, should hold an awe others use open source projects, rather than "using your think highly of you."

Each developer, should be properly helped you sponsor a open source project.

Published 112 original articles · won praise 43 · views 50000 +

Guess you like

Origin blog.csdn.net/itwangyang520/article/details/105021508