NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

如何在 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:223683
用户头像

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

关注

评论

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

java零基础入门-Number & Math 类

喵手

Java 7月月更

【C语言深度剖析】详解strlen与sizeof的区别及用法

Albert Edison

7月月更

前端异常监控平台对比

南城FE

前端 7月月更 异常监控

C 语言入门(二)

逝缘~

c 7月月更

Hive说我变了,Spark说不你没变

怀瑾握瑜的嘉与嘉

spark 7月月更

基于物联网设计的铂电阻气体测温仪(华为云IOT)

DS小龙哥

7月月更

Python反爬,JS反爬串讲,从MAOX眼X开始,本文优先解决反爬参数 signKey

梦想橡皮擦

Python 爬虫 7月月更

Spring Cloud源码分析之Eureka篇第七章:续约

程序员欣宸

Java Spring Cloud Eureka 7月月更

内部排序——归并排序

乔乔

7月月更

C++|登录后通知各个显示页面,观察者模式

中国好公民st

c++ 7月月更

拆分电商系统为微服务

爱晒太阳的大白

架构实战营模块六作业

Geek_Q

新星计划Day3【JavaSE】 集合 Part1

京与旧铺

7月月更

ORACLE进阶(十二)union(all)学习总结

No Silver Bullet

oracle 7月月更 union union all

关于 HTTP post 请求 form data 里的特殊符号,比如加号 plus symbol

Jerry Wang

HTTP web开发 7月月更 encoding form

Jenkins centOS搭建和task创建

沃德

ci 程序员 7月月更

QT 实现生成压缩包

小肉球

qt 7月月更

双目立体匹配之匹配代价计算

秃头小苏

7月月更 双目立体匹配

OKALEIDO:我们为何如此看好多媒体NFT板块?

鳄鱼视界

NFT新势力,OKALEIDO看好多媒体NFT板块

EOSdreamer111

Python|揭开「pip不是内部或外部命令,也不是可运行的程序或批处理文件」的神秘面纱

AXYZdong

Python 7月月更

Android Wear开发步骤

芝麻粒儿

android 手机 7月月更

【愚公系列】2022年7月 Go教学课程 008-数据类型之整型

愚公搬代码

7月月更

OKALEIDO:我们为何如此看好多媒体NFT板块?

股市老人

人最痛苦的时候就是没有目标的时候

KEY.L

7月月更

电商系统微服务架构

泋清

#架构实战营

14岁懂社会 - 《你没有那么笨》读书笔记

懒时小窝

读书笔记 14岁懂社会

Node.js的非阻塞I/O

是乃德也是Ned

Node 7月月更

ORACLE进阶(十一)MERGE INTO学习总结

No Silver Bullet

oracle MERGE INTO 7月月更

数据库每日一题---第21天:员工花费的总时间

知心宝贝

数据库 云计算 后端 开发 7月月更

LeetCode-125. 验证回文串(java)

bug菌

Leet Code 7月月更

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