Make things that someone will use it

Well, this is only a little post about my personal feeling after join Fcitx. Following is for anyone who have interest in bringing up a open source project.

When a project starts, there might not be no user at all, the most easy way to make the project live is to make yourself as the first user. There might be some argument, about the usability or quality. In my opinion, there is not much to worry about. Your personal requirements won’t be to different to common people, or at least there will be a group of people have the same requirements as you. There’re some people with WERID (You know…. WERID) interest can find companion, there is no reason that you can’t. For fcitx, it’s the only input method that I use on Linux for a long time. If you found any bug, any small bug will touch your sore point. And this will become a great motivation to make it better. And this can be even applied to development, use your API first, if no one use it, don’t develop it.

Then you might want to spread your work, this might need come with some luck. For Fcitx, it already have some old users, since it was started nearly 10 years ago. For that time, Yuking first post his work on some forum, and there will be some one might use it. For now, internet makes things more easy. I use Twitter and Google search the most recent comment about Fcitx daily. Some might find difficulty to use it, then I will try to answer their questions. Question might be silly from my point of view, but there is already a high wall for Linux input method (Complex environment variable, and so on), I really need to break this wall. What I really expect from them is this, they might blog down their solution, and help me spread the correct answer, and after I answer the question, I might ask them to try some new feature, for example, if they complain about pinyin accuracy, I would recommend them to give sunpinyin or cloudpinyin a try. (Well, do you just think of Tencent? 😛 ) This is what I call SEO by hand. Google will also help me, if things appear more on the internet.

After some time, you might find some user can give out some opinion. For instance, I don’t really use fcitx-table, but I have one MVU (Most Valuable User :P) complains about it again and again. (Well, not really complain. You know I’m talking about you, lilydjwg.)

Just as Linus said, “Even if you wrote 100% of the code, and even if you are the best programmer in the world and will never need any help with the project at all, the thing that really matters is the users of the code. The code itself is unimportant; the project is only as useful as people actually find it. “

Simply accept the fact that it’s not easy for any one to join your project, just make the life of your project longer and longer (Well, for years), and something may happen magically.

P. S.

Thanks fcitx-keyboard for spell checking. Blogilo doesn’t have built-in spell checker support.

=-=-=-=-=
Powered by Blogilo

This entry was posted in fcitx development and tagged . Bookmark the permalink.

2 Responses to Make things that someone will use it

  1. 右京样一 says:
    Google Chrome 17.0.963.46 GNU/Linux

    A good article.
    An importand difference between open-source and the commercial software is a lot open-source program is just wrote because of the interest of the developer(s). While once the software became popular, the developer(s) will have to choose if to take responsibility for it or not. Some cases are not easy to be reappeared so that it will take developer(s) a lot of time to promote the software if they decide to maintain it for others. A software both need valuable users and valuable developers but the fact is the proportion of valuable users is low so that developer(s) usually heard noises but seldom useful informations. That is a really bad situation.

  2. Lynx says:
    Firefox 17.0 GNU/Linux x64

    好吧我有种看见英文文章就有点退避的不好习惯就是了……
    好文!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.