HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

【Python技能树共建】文件模块

梦想橡皮擦

Python 6月月更

数组

Jason199

数组 js 数组操作 6月月更

在 Golang 中构建 CRUD 应用程序

宇宙之一粟

6月月更

Linux开发_介绍BMP图片上下翻转、添加水印

DS小龙哥

6月月更

C#入门系列(十三) -- 初识结构体

陈言必行

C# 6月月更

ConcurrentHashMap 源码分析-初始化

zarmnosaj

6月月更

细数攻防演练中十大关键防守点

穿过生命散发芬芳

6月月更 攻防演练

FFmpeg原理

Loken

ffmpeg 音视频课程

深入剖析 | 应用层Protocol的标准设计

九叔(高翔龙)

架构 协议 TCP/IP dubbo源码 粘包/拆包

设计消息队列存储消息数据的 MySQL 表格

大眼喵

「架构实战营」

前端之uni-app研究学习day_1

恒山其若陋兮

6月月更

M_8:设计消息队列存储消息数据的 MySQL 表格

Jadedev

架构训练营

flutter系列之:flutter中常用的GridView layout详解

程序那些事

flutter 程序那些事 6月月更

Flutter库推荐Sizer 可帮助您轻松创建响应式 UI

坚果

6月月更

【建议收藏】通俗易懂图解网络知识-第一篇

利志分享

InfoQ 极客传媒 15 周年庆征文|简述构建微服务架构的四大挑战

阿泽🧸

微服务 6月月更 InfoQ极客传媒15周年庆

设计消息队列存储信息数据的MySQL表结构

dan629xy

MySql索引

工程师日月

6月月更

【Java Web系列】Cookie工作流程及基本使用

倔强的牛角

Java javaWeb Cookie 6月月更

spring4.1.8扩展实战之二:Aware接口揭秘

程序员欣宸

Java spring Spring Framework 6月月更

InfoQ 极客传媒 15 周年庆征文|ZooKeeper进阶(一):Zookeeper简介

No Silver Bullet

zookeeper 运维 6月月更 InfoQ极客传媒15周年庆

设计消息队列存储消息数据的 MySQL 表格

踩着太阳看日出

架构训练营

『Three.js』场景 Scene

德育处主任

canvas three.js 6月月更

【Python技能树共建】selenium入手篇

梦想橡皮擦

Python 6月月更

应用最广泛的动态路由协议:OSPF

wljslmz

OSPF 动态路由 6月月更

vivo大规模 Kubernetes 集群自动化运维实践

vivo互联网技术

Kubernetes operator ansible kubeadm Kubevirt

Springboot 升级到 2.6.1 的坑

Damon

微服务 微服务架构 Spring Cloud 6月月更

数据库每日一题---第10天:组合两个表

知心宝贝

前端 后端 6月月更

iShot

IT蜗壳-Tango

6月日更 6月月更

linux环境下实现银行间算法

乌龟哥哥

6月月更

【愚公系列】2022年06月 面向对象设计原则(七)-迪米特法则

愚公搬代码

6月月更

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