Tag Archive for 'DevWorks'

对沙渺评论的回复

原文链接: http://blog.heavenfox.org/sth-else/leave-something-for-the-world/#comments
个人认为沙渺同学的评论非常精炼准确,但他对我的文章有些错误的理解,在此澄清一下,同时表达一下我的想法,再同时表示我对沙渺同学的尊重.

首先,因为文章写作背景的原因,文章中的多数观点略有偏激.今天,我想我可以冷静地看待关于开源与商业的问题.

一个项目要商业化是有很多因素在里面的,绝大多数情况下不取决于项目的技术含量.因此能够完成这一过程的项目仅仅是少数.看看专利局每年审批的专利数吧!有多少能够真正商业化,市场化?恐怕不到1%吧!我并不相信DevWorks能够走完这一段路.不是因为我不能坚持下来,而是我一没有能力,二认为没有必要.

每个人都有权利为自己的劳动索取报酬,这是宪法赋予我们不可剥夺的权利.所以,我也一直认为,即使我将DevWorks完全商业化,我也有足够的理由来说服我自己.

但我没有这么做而是选择了开源.原因不在于我认为我的项目并不值钱,也不在于我对开源事业有一种如同宗教一般的信仰.而是我站在一个用户的角度认为我应该这么做.

我是一个有极高学习热情的人.每次获取一个网络程序,我都会简单读一读代码,以便略加修改让站点更符合自己的需求.但事实上,其意义不仅仅在此.去年我在开发城市公交导航的时候,我惊讶于居然经过几天的学习我便可以得心应手地开发一个网站程序.后来我感觉到,是过去大量的PHP代码阅读帮助了我.

开源的意义便在于此,让有益的开发者之间以及和用户之间的交流更加方便.

我也曾梦想着将我的项目商业化,以换取一台新的笔记本电脑.但经过尝试,我发现,作为一名初中生,这简直是不可能.与其让其尘封在我的硬盘里,不如让全世界需要该项目的人去获取,以分享我的经验.我想,这样这个项目的价值才能真正得到体现.

对于我个人,我想此举可以为我带来修改建议与批评支撑,对我个人的也是有利的.更何况在付出中可以得到精神上的愉悦,用金钱买不到的愉悦!

中国真的缺少勇于奉献的人.曾经的极致论坛是加密的,MolyX是加密的,Discuz加密了一部分.不得不说,这些程序做的确实不错,充分体现了中国人的智慧.但我为什么从来没有在开源项目列表里看到中国人的名字?

我从来不否认,让所有程序开源是不可能的,而且如果这成为现实带来的后果也难以预料.但毕竟,我并不穷困潦倒,以编写程序维持生计.相反,我所需要的是编程为我带来的精神愉悦.如果开源能让这一愉悦升华,为什么不呢?

我所有出于个人兴趣而开发的项目全部开源.

我愿为开源事业尽一份微薄之力.

痛苦的抉择:DevWorks v1 延期

本来, 我已经完成了 DevWorks 的内核和大多数周边模块, 仅剩后台没有完成. 我以为, DevWorks v1.0 近在咫尺.

可是, 我在写后台和完善内核的时候, 发现了一系列的问题. 问题的矛头直指 DevWorks 的根基 - DevWorks 内核类 (DevWorks Core Class)

具体的问题说大也不大, 说小也不小.(没有兴趣可以略过)

根据现代面向对象编程的原则, DevWorks 没有使用任何全局变量. 因此, 您在代码中找不到 global 关键字.

因此, 我将 DevWorks 的全部原本应直接写出的代码放进了 DevWorks 内核类. 我想, DevWorks 作为一个对象, 应该是一个类.

但我发现我错了. 因为前面提到的原因, 我无法在对象中引用 DevWorks 类的成员 - 例如数据库连接.

我采用了类似于 IPB 的解决方案, 为每一个类安排一个特殊的属性devworks,作为主对象的一个指针(准确地说是引用).

于是一个愚蠢的事情发生了: 无论是什么类(library里的类除外),都清一色地拥有一个叫做 devworks 的属性

我们不禁要问, 这难道就符合面向对象编程的原则吗?

PHP 已经提供了解决之道 - 静态类.静态类就是为只存在一个副本的对象而设计的. 这不正是 DevWorks 内核类需要的吗?

但毕竟木已成舟, DevWorks 已经写好了几百 KB 的代码,如果要修改实在很麻烦.

我辗转反侧, 计划在 DevWorks v2 改写架构

但 DevWorks 的性质决定了, 这样做良心上说不通. 这样为 DevWorks v1 所付出的不就白费了吗?

因此, 我决定, 改写内核的架构 - 将 DevWorks 内核类换成静态类.

牵一发而动全身, 这样一个行为导致的后果非常严重. 大部分代码需要修改.

不过不用太担心, 上面说的虽然有些严重, 但那是对我而言. DevWorks 的设计理念和基本架构没有变, 变化的仅仅是内核的架构.

从此可以告别愚蠢的 public $devworks; 了!

因此, DevWorks 预计发布时间延期到四月份.

另: 如果可能, 我希望 DevWorks 能够参加 2009 或 2010 年的 Google Summer of Code.

DevWorks 开发人员: HeavenFox

DevWorks 后台设计方案

本方案将是 DevWorks v1.0.0 的后台设计方案.

您可以在

http://labs.heavenfox.org/Projects/DevWorks/ACP/

看到本设计方案

DevWorks M1 已经完成!

我们很高兴宣布, DevWorks 的第一个可以运行版本已经完成!

这个版本是 DevWorks 开发过程的一块里程碑,因为在这个版本中,DevWorks 的内核已经完成.这意味着从今以后该项目的结构不会有大的变化.

因为管理面板没有完成,所以我们还不能发布这个版本.开发者可以通过 SVN 获得这一版本. 版本号是 25.

因为这个版本没有完成,您在安装后需要执行一些数据库查询才能运行.查询如下 (如果您更改了前缀,请在下面做出同样修改)

Continue reading 'DevWorks M1 已经完成!'

随笔 - 为世界留下些什么

(本文看似与上篇日志没有关系,其实......没有上篇就没有这篇)

我忽然想表达一下我日后的路--作为一名计算机开发者而言.

在我决定按照GPL协议发布DevWorks时,我就在想,什么让我做出这个决定?

我想起了DIY-Page.同样是中学生的项目,为什么他能收取注册费而且获得可观的收入而我不能?

因为......我希望为世界留下些什么. 

我想,也许触及了一个更加深入的问题:我们为何要活在这个世界上?

我的答案是,为了实现自己的价值.

那么,这个价值该如何实现?现在我的答案是,通过一系列项目.

一系列GPL协议的项目.

更何况,我只用了十分钟就写出了DIY-Page的注册机.因此,我深信不疑,未来GPL及其精神将会大行其道.

开源精神万岁!

Too many projects to do...

刚刚规划了一个新项目

自然...也会作为DevWorks的子项目(以后所有的PHP项目基本都会是DevWorks的子项目)

如果DevWorks开发顺利的话,该项目会在Art.Exb之前开发

项目名暂定OpenJudge,"圈"内人一看就能知道是什么东西

初中物理文章暂停

两个目的:

1.纪念2D物理竞赛班及师母

2.全力开发DevWorks

3.文化课作业

DevWorks 及其子项目广告

DevWorks Banner - coming soon in march
Envelope Banner - coming soon in april
Art.Exb Banner - coming soon in april

(顺便来个知识竞赛:在Art.Exb的广告中,总共有五幅外国名画.它们分别是什么呢?)

答案:从左到右依次是:《自由引导人民》《蒙娜丽莎》《星夜》《拾穗》《格尔尼卡》

坏消息and好消息

坏消息:月考貌似考砸了......

好消息:月考总算完了......DevWorks继续开发

DevWorks 临时顶级域名启用

我很高兴地告诉大家,我购买了devworks.cn这个域名

当然,长远来看,.cn域名对国际化不利,因此我会在不久的将来买一个.com域名

可惜买什么还没有想好(devworks.com/net/org都被抢了)

(其实......主要是因为我在一个域名代理商那里还有1元的余额......不花白不花,哈哈)

目前访问该域名或我们的SF.net空间会自动跳转到labs