写点什么

如何在 GitHub 创建一个“有人用”的项目

  • 2014-10-21
  • 本文字数:1100 字

    阅读完需:约 4 分钟

近年来,GitHub 的个人页面已经逐渐成为程序员的求职名片,它充分展示了程序员在笔试面试中很难展示的真正编程能力。甚至有企业在招聘广告中说,GitHub 项目的星数只要达到一定数量,就免试录取。这也在一定程度上说明了问题——GitHub 上的项目必须要有人用,才说明你做的软件是有价值的。那么去创建一个“有人用”的项目?来自纽约的 Web 开发者 Barry Clark 根据自己的经验给出了建议。

Barry Clark 开发了 Jekyll Now ,很多人使用它在 GitHub Pages 上写博客。这个项目在 GitHub 上已经收到了 1200 多次 fork。Barry Clark 在自己的一篇博客总结了这个项目受欢迎的原因。

Clark 认为首先要做用户需要的软件。 Jekyll 是 GitHub Pages 的后台博客引擎,但是它部署起来很复杂,使很多人望而却步。Clark 抓住了用户的这个痛点,写了 Jekyll Now。它大大地降低了使用 Jekyll 的门槛,用户不再需要使用晦涩的命令行工具来操作,也不再需要安装 Ruby,Windows 用户会感觉使用起来方便很多。

解决痛点“不需要打造一个完整的产品”,只要打造一个原型,足以让用户决定是否使用就可以了。然后尽快在同事、朋友中找一些长期受困于这个痛点的人试用,接受他们的反馈。当然,你是否能成功还是取决于用户是否会使用你的软件。

Clark 谈到的第二点是,让用户能快速获得你的软件。把代码托管在 GitHub 上当然是一个很好的选择。要给代码库配上简要的说明,用一句话概括这个软件解决的核心问题,以便人们发现和共享它。此外,项目的 Readme 页面要写得尽量详细。

第三点也同样重要,要使软件的安装尽量简单。Clark 认为:

安装越简单,使用你的项目并为它做贡献的人也会越多。

安装步骤要尽量简化,必要的步骤要在 Readme 中列出详细的条目。同时,请身边的朋友试用并给出反馈。

最后一步就是宣传了。Clark 说道:

如果人们根本找不到你的项目,就不用谈从中受益了。

他介绍了三种宣传项目的方法:

  • 潜在用户经常阅读的网站
  • 潜在用户订阅的邮件
  • 潜在用户关注的人

Clark 还比较了 Hacker News reddit 两个网站,他认为 Hakers News 受众甚广,潜在用户比例小,而 reddit 可以针对特定的用户群,挖掘潜力更大。他宣传 Jekyll 用过的手段还是有:写一篇博客介绍它,以及给 Smashing Magazine 写了一篇教程,这篇教程后来在 twitter 上得到了转发,起到了很好的效果。

做开源项目最有成就感的地方就是,看到用户从你的项目中获益。每个人都能给他人贡献有用的软件,希望 Clark 的建议能对大家有所帮助。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-21 09:223806
用户头像

发布了 77 篇内容, 共 36.7 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

【C语言难点突破】指针入门讲解

Geek_65222d

10月月更

老生常谈React的diff算法原理-面试版

beifeng1996

React

Vue3入门指北(八)v-model

Augus

Vue3 10月月更

【愚公系列】2022年10月 Go教学课程 018-分支结构之switch

愚公搬代码

10月月更

基于IDE和dlv远程调试Kubernetes组件

琦彦

Go Kubernetes 调试 10月月更 delve

2022-10-04:以下go语言代码输出什么?A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T{x:123}。 packag

福大大架构师每日一题

golang 福大大 选择题

什么是 Python 垃圾回收机制中的引用计数

宇宙之一粟

Python 垃圾回收机制 引用计数 10月月更

Mac下vagrant从安装到体验

程序员欣宸

vagrant 虚拟机 10月月更

Collections之Arraylist源码解读(五)

知识浅谈

ArrayList 10月月更

【牛客刷题-算法】NC25 删除有序链表中重复的元素-I

清风莫追

算法 链表 10月月更

经常会采坑的javascript原型应试题

loveX001

JavaScript

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

【一Go到底】第五天---指针

指剑

Go golang 10月月更

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵教育

书单 国庆节

硬核好文!网络拓扑类型:总线、环形、星形、网状、树形、点对点、混合

wljslmz

网络技术 网络拓扑 10月月更

最长回文串

掘金安东尼

10月月更 算法、

【牛客刷题-算法】NC22 合并两个有序的数组

清风莫追

算法 数组 10月月更

微服务通信

穿过生命散发芬芳

微服务 10月月更

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

Fiddler(一) - Fiddler简介

No Silver Bullet

fiddler 10月月更 抓包工具

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

C++学习---_IO_new_fdopen函数原理分析学习

桑榆

c++ 源码分析 10月月更

【牛客刷题-算法】NC16 对称的二叉树

清风莫追

算法 二叉树 10月月更

面向对象究竟是什么鬼?该如何理解?

乌龟哥哥

10月月更

网络请求模块(2)

张立梵

Python. 爬虫必备知识讲解 10月月更

InetAddress.getLocalHost() 执行很慢?

xiaoxi666

网络 网络库

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

Fiddler(二) - 使用Fiddler做抓包分析

No Silver Bullet

fiddler 抓包分析 10月月更

书单推荐|宅家不动过国庆,好书相伴不寂寞

图灵社区

书单 国庆节

面试官:React怎么做性能优化

beifeng1996

React

如何在 GitHub 创建一个“有人用”的项目_GitHub_曹知渊_InfoQ精选文章