如何在 GitHub 创建一个“有人用”的项目
2019独角兽企业重金招聘Python工程师标准>>>
转载自:http://www.infoq.com/cn/news/2014/10/github-bulid-project
近年来,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的建议能对大家有所帮助。
转载于:https://my.oschina.net/letiantian/blog/371946
如何在 GitHub 创建一个“有人用”的项目相关推荐
- [react] 举例说明如何在React创建一个事件
[react] 举例说明如何在React创建一个事件 import React, { Component } from 'react'; import ReactDOM from 'react-dom ...
- 如何在GitHub上发现优秀的开源项目
如何在GitHub上发现优秀的开源项目 如果作为一名程序员,你连GitHub都没有听过或者用过的话,那真是太遗憾了.GitHub的使用可是程序员在职业生涯中的一项必备技能啊,最近在网上搜了一下,发现有 ...
- 只需3分钟,就能轻松创建 一个SpreadJS的React项目
概述 SpreadJS 纯前端表格控件 V11.2(SP2) 已经全面支持了 React 的拓展.接下来我们看下如何利用3分钟快速创建一个 SpreadJS 的 React 项目. 1.新建React ...
- IDEA中添加tomcat服务器和创建一个新的web项目
1.tomcat服务器的配置 第一步: 第二步:找到Templates 第三步: 第四步: 第五步: 第六步: 这样就完成了 2.创建一个新的web项目 第一步: 第二步: 第三步 第四步:
- SSM之一(使用idea创建一个Spring+SpringMVC的项目)
文章目录 1. 使用idea创建一个基本的maven项目(Web版本) 2. 完善目录结构 3. 相关依赖 4. 配置spring与springmvc 1. 使用idea创建一个基本的maven项目( ...
- 创建一个简单的springboot项目demo
springboot的核心功能: 1:起步依赖 2:核心注入; 创建一个简单的springboot项目demo步骤: 1:创建一个maven项目 2:pom.xml添加起步依赖 <parent& ...
- vs2019创建c语言,Visual Studio 2019创建一个C语言控制台项目
Visual Studio 2019创建一个C语言控制台项目 1 创建项目 1.1 选择使用内容功能 ① 打开软件后,来到起始页界面,点击[创建新项目] 1.2 填写项目信息 ① 语言选择[C++] ...
- 用username.github.io在github创建一个个人空间
对于技术人员来说,分享技术新的.学习经验都有许多平台,比如我们常用的CSDN,很多技术人员都会在上面创建自己的博客.但是以这种方式来分享,可能没有那么个性化,因此我们可以在github上创建自己的个人 ...
- 如何使用GitHub创建一个自己的博客并且上传
如何使用GitHub创建个人博客并且上传 一.git是什么 1.1 git简介 1.2 git作用 1.3 安装Git 1.4 如何开始使用Git 1.5 Git常用命令介绍 1.5.1 初始化本地仓 ...
最新文章
- [YTU]_2435 ( C++ 习题 输出日期时间--友元函数)
- P1021 邮票面值设计
- Express框架开发知识点总结
- 基于 IOCP 的通用异步 Windows Socket TCP 高性能服务端组件的设计与实现
- 并发编程之Lock接口
- 每天有数百人搜索App破解,开发者该怎么保护自己的手机应用呢?
- ZooX首发双向电动无人车,会成为自动驾驶出行的主流吗?
- Pintech品致钳形交直流电流探头的主要功能
- html中含有value属性的标签及Value的作用
- WEB前端面试常见的问题及答案
- 无限地图生成的制作,一直跑酷一直爽!
- 远程桌面,openGL
- USRP N321上手
- 社会管理网格化 源码_威县方家营镇创新“网格化”管理模式,助推乡村社会治理能力提升...
- Vector人工智能机器人SDK使用笔记
- matlab 生成色带和彩色图像
- 利用PYTHON出小学数学题
- RXD、TXD你接错了没?
- uniapp 微信小程序 editor富文本编辑器 api 使用记录
- 中山大学计算机学院官网万海,万海:《计算机网络》课程研修班报告 - 中山大学信息科学与技术学院.doc...
热门文章
- 用python制作条形图时出现“posx and posy should be finite values”问题的解决方法
- windows server2012安装web服务以及运行asp
- codeforces1428E Carrots for Rabbits
- Object Detection Meets Knowledge Graphs
- 搭建spring config的坑 记录一下
- 展讯功能机平台MMK消息流转
- java如何使用虹软sdk_Java使用虹软SDK做人脸识别之十分简单的入门
- ESP32-C3使用LEDC外设实现呼吸灯效果
- Android QPython3 制作简易GUI长文本框界面
- 全球及中国中药行业发展机遇及投资价值评估报告2021-2027年