开源前要做好哪些准备工作?

最近看到OSC上一些大牛小牛在开源,偶也心里毛毛乎乎的,也有一些朋友说,快开源吧,开源了参考参考。其实偶也想快点开源,但是还是一直捂着,没有拿出来。  原因是这样的: 
第一印象是相当重要的,如果第一印象不好,许多人不会给你第二次机会再来了解你的。 
如果要开源,必须是要比较完整的,如果拿出来一个不完整的,如果期望使用者能跟着你一步一步的调整、学习,是完全不可想象的。 
如果要开源,必要的文档是必须的,如果说人家看了你的文档和代码就能良好掌握,那么这个开源就是有效的,如果说代码的自说明性不好,必要的文档又没有,那最后的结果当然是可想而知的。 
示例代码或单元测试代码的完备性,好的测试代码或单元测试用例,会给使用者一个良好的开端,甚至会引领着使用户直接到一个比较高的程度,而没有这些内容人家掌握起来也比较困难。 
而一旦开源出来,但是又没有人愿意接受或使用,那么开源就是完全失败的了。 
就好像本人看到某些开源软件的时候,没有文档,没有JavaDoc,没有注释,代码自说明性又不怎么样,这个时候,就像看到一堆shit一样,不看吧,听说很好,看看吧,实在是.....看不懂。 
甚至这个时候,连开源者的初衷也不懂了。 
已所不欲,勿施于人,唯有对自己要求更高。

时间: 2024-10-07 20:01:33

开源前要做好哪些准备工作?的相关文章

实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)

上一节配置了 linux-bridge mechanism driver,本节再做两个准备工作: 1. 检视初始的网络状态.2. 了解 linux bridge 环境中的各种网络设备. 初始网络状态 我们首先考察实验环境最初始的网络状态.随着学习的深入,我们会对网络不断进行新的配置,大家也将看到网络一步一步发生的变化. 在我们的实验环境中,当前节点上只存在物理网卡设备 ethX,还没有 bridge 和 tap,状态如下: 控制节点 计算节点 了解 linux bridge 环境中的各种网络设备

售前如何做好需求分析

大家都知道,一个项目的成败有很多的因素 包括: 需求问题.设计问题.客户关系问题.技术问题.项目管理问题.等等 而大部分SI项目可能更多的是纠结在需求分析方面,没有做好需求分析,导致最终的 成果不是客户所需要的:或者说做出来的结果给客户看后不断的提出需求变更,疲于 应对,结果导致成本超出,项目失败. 当然,也有项目失败由于顶层设计的原因,再简单的项目,一旦顶层设计没有做好, 一个小小的改动都可能牵一发而动全身. 下面是个人参考部分网络资料作成的一份PPT演讲稿,在公司以及同行也中广为宣讲, 在此

第 7 章 Neutron - 078 - 实践 Neutron 前的两个准备工作

两个准备工作: 1.检视初始的网络状态. 2.了解 linux bridge 环境中的各种网络设备. 初始网络状态 首先考察实验环境最初始的网络状态.随着网络不断进行新的配置,也将看到网络一步一步发生的变化. 在实验环境中,当前节点上只存在物理网卡设备 ethX,还没有 bridge 和 tap,状态如下: 1.控制节点 2.计算节点 了解 linux bridge 环境中的各种网络设备 在配置 linux bridge driver 之前先了解几种网络设备,后面会经常用到. 在 linux b

51cto运维培训课程

线路图: Linux运维架构师 基础提高篇(120课时) 基础提高篇(240课时) Linux系统基础及系统管理 Shell编程入门及进阶 linux安全管理和企业级安全防范策略 企业级集群/存储专题 http代理加速.应用服务器Nginx.Haproxy.Varnish 虚拟化及IaaS云技术专题kvm.Openstack Linux平台常见网络服务入门和掌握 Mysql企业级入门和提升 自动化运维相关专题 海量数据并行处理系统(Hadoop) 中级班: 实训主题 实训内容 实训目标 1.操作

MongoDB集群复制部署

简介: 本文总结了MongoDB 3.2版本的集群复制集部署步骤. 要求: •该集群中包含2个分片(shard) •每个分片都是1个副本集 •分片副本集.配置服务器都需要考虑到单机故障的情况,保证可用性 •为了减小实验数据占据磁盘空间.加快实验速度,将每个分片的mongodb服务oplogSize设置在100以下 •部署前,做好部署准备工作,记录部署架构 部署前准备工作: 根据要求,绘制出集群部署架构图,如下图所示: 两台Linux服务器,服务器版本为CentOS-6.6,为实现高可用配置两个复

论信息系统项目的进度管理

试题二  论信息系统项目的进度管理 项目进度管理是保证项目的所有工作都在指定的时间内完成的重要管理过程.管理项目进度是每个项目经理在项目管理过程中耗时耗力最多的一项工作,项目进度与项目成本.项目质量密不可分. 请以“信息系统项目的进度管理”为题,分别从以下三个方面进行论述: 1.概要叙述你参与管理过的信息系统项目(项目的背景.项目规模.发起单位.目的.项目内容.组织结构.项目周期.交付的产品等),并说明你在其中承担的工作. 2.结合信息系统项目管理实际情况并围绕以下要点论述你对信息系统项目进度管

软件调试前的准备工作

在我们对某个问题进行调试前一定要做足准备工作,不然后面的调试工作会面临极大的困难,甚至都无法开展调试工作. 必须要做的准备工作 不管我们是在开发期调试,还是在发布后调试,都要做好如下准备工作: 充足的心里准备这个太重要了,在实际工作中,我见到太多被问题吓怕的人.在还没整清楚问题是什么时就已经打了退堂鼓,把工作和问题给别人.面对任何问题,我们首先要做的就是树立起信心.特别是在计算机的世界里,事出必有因,且一定具有事情的发生的必然逻辑.所以,我们只要有信心就肯定能解决问题. 编写高质量代码程序开发者

安装操作系统前须知的知识(理论)

安装操作系统前的准备 为保证操作系统的安装能够顺利地进行,在安装前应做好相应的准备工作,包括选择合适的操作系统.了解操作系统的安装方式以及更改 BIOS 设置等. 一.安装操作系统入门必知操作系统(Operating System,OS)是控制与管理软硬件资源的程序集合,主要负责实现资源管理.程序控制和人机交互.在安装操作系统之前,应了解一些基本的知识 1.常用的操作系统有哪些 常用的操作系统主要有 Windows XP.Windows Vista.Windows 7.Mac OS X 以及 L

[ app运营 ] APP运营思考:APP上线前,我们该做些什么?

一.产品部分:想一想APP的承载够不够,是否要做压力测试?上架后,会迎来第一波用户,如何保证你APP的正常运行?将会出现哪些意外情况?我们遇到一个真实的案例,某游戏APP上架后,第一天就有3万次真实激活,但就在当天晚些,出现几百个差评,几乎都是说:“登陆慢.运行慢.垃圾游戏”这样的评论,第二天只好主动下架调整. 移动互联网,特别是APP store的世界,天天都在上演着一夜成名的故事,如果你不想在第一天就倒下的话,花点时间做压力测试吧. 二.市场部分:1. 想一下如何收集用户反馈,以及如何处理.