What is the best method to gain users and contribu

2019-03-15 22:48发布

问题:

There are two questions to this:

  1. How can I best "spread the word" about my projects to interested users?
  2. How can I best "spread the word" to like-minded developers?

I know this sounds easy, but it really isn't.

I've participated in official mailing list discussions, establishing a presence on IRC, wrote articles for magazines, hosted on sourceforge, submitted to freshmeat, and even bribed friends & colleagues. In 10 out of 10 cases, I'm still the sole developer. Even the device drivers I write, get no love... from the manufacturers that call me, make requests, and send prototypes of new hardware for me to support.

I have always had trouble rallying support for open source projects, especially my own. On "the job," managers have always been weary of creating and contributing patches. I know that there's a disconnect with "free" software in many people's minds. And I know that there are like-minded people out there willing and able to help. The problem is finding them.

I'm not looking for, or interested in, slave labor. Just the hope of finding a handful of talented guys, with shared interests, that wouldn't mind contributing a patch or two. I seek team building, not manual labor. I can bear the brunt and do not mind it. I want to work with others, not fly solo. I openly welcome criticism and suggestion. I desire it.

I've written various "things" here & there that are used. Some of my work is even packaged by default in a few Linux distributions. The problem is, I'm not talented enough to take everything to the next level by myself. I simply don't have what it takes to be the sole maintainer of a dozen projects. I regularly receive feature requests and lack the time to handle them. I'm over two years behind on an update for one app.

Obviously, I'm spreading myself too thin. This makes me reluctant to start anything fresh. I need to focus on what I've already put "out there" and maintain it. There's just been no help. A lot of bug reports (which I'm on top of) and not a single suggestion for a fix. A ton of angry emails from people that are completely pissed off that I have a bug on some edge case. I calmly perform customer support for things I do not ask a dime for.

That I have many users and no contributors; does it mean that I have shitty projects? I release the source to everything from device drivers to Dashboard widgets. I've never expected a dime, but a tiny bit of help would be nice, from the developers that use my creations. I always assumed that contribution would increase in proportion to my user base. I haven't received a single inquiry, for which I'd gladly give credit, appreciation, ... hell, at this point, I think I'd get on my knees and devote to daly worship of anyone whom offers assistance.

I put this question out to the best forum of bright & talented individuals I've found thus far. How do you suggest I increase awareness for both users and developers? Is there anything I can do that would inspire a community effort? ... or must I always appeal to the selfish? / "Here's a patch so your crap will compile on AIX and we won't have to fix it after every update." I can build in obsolescence and fail to service bug reports, but that seems crappy.

回答1:

I find that motivation in the open source world generally comes from scratching an itch. I'm motivated to work with a project if I use it regularly, if it does something particularly useful for me, if there's a shortcoming I can see my way to fix.

The hard part is finding not just like-minded talented people, but specifically those for whom it scratches a similar itch: I think those are really your target "market" of people who might join in. In the commercial world, we employ sales and marketing people to go out and persuade people that our software scratches their itch, but we don't usually expect to find people to work with us. In the free world, the measure of credibility is different and I don't know of any better way than what you're already doing:

  • Exist
  • Be of quality (waves hands - whatever that really means from a fellow geek's point of view)
  • Build up a user base (which is a double-edged sword, as you've found, with regard to bug reports)
  • Make sure you're googleable so that somebody with the same itch and enough nous to search will find you rather than reinvent the wheel for themselves.


回答2:

A few things you can do:

  • clarify your role within each project. Just because you open sourced the code does not mean you opened your schedule.
  • lower the barrier for contributors i.e make sure
    • you have a clear roadmap listing the major milestones. What has been accomplished and what needs to be done.
    • review your HOWTO guides for contributors
    • clear instructions on how to install and develop locally
    • review and simplify your codebase
    • pick technologies that are more likely to attract contributors
    • have small tasks identified either in the code or the site that anyone can take
  • be very responsive to discussions about patches and encourage them
  • get to know your users (the ones who log issues). Maybe you are not targeting enough users with the right skills to make changes?
  • raise awareness of the work being done and the stuff being requested e.g Here are out top issues, or most viewed bugs or most commented discussions.
  • code patches are not the only type of contribution. Identify other roles in the project e.g bugs triage, marketing, packaging, testing new releases, forums etc. and again lower the barrier

  • continue your efforts in attracting more users. Contributors will be a small percentage of that user base

    • start measuring the installs, usage, traffic etc.
    • add a website and make sure your install, configuration, requirements etc. are well documented and actually work on all supported platforms
  • focus on users who provide feedback and have skills. They are the most valuable resource.

It all depends on what you want and how you envision your projects.

Also, review the language and tone. People can sense if you are aiming small or big.

Finally check the alternatives and related projects. What are they doing right? or are they struggling in this area too?

Two excellent books to check out:

  • The art of community
  • Producing oss