Mark's Place

A place for Mark's murmuring, blah, blah, blah, ...

Mark's Place
Watch Timeline

該怎麼溝通呢?

Mark Wu 發表於 2007/05/01 07:08 · 靜態連結網址

過去一個禮拜,跟 dotProject 的 Project Leader Karen 溝通是否應該把我之前作的 UTF-8 簡繁中文 patch 放到 core(核心)裡面。到目前為止的溝通結果是,他們不願意把 Patch 放到 dotProject 的核心中,請參考:dotProject 論壇dotProject 問題追蹤。意思就是說之後的版本還是繼續不能正確顯示中文日期,不能顯示甘特圖,MySQL 內繼續中文亂碼。

為什麼呢?因為他們不接受任何去修補 3rd Party Library  的 Patch,這真是件很傷腦筋的事。以目前 dotProject 缺乏 i18n 的架構,以及他們所用的 3rd Party Library(PEAR::DateJpGraph),不去修改 3rd Party Library 根本無法解決這個問題啊!所以我只好繼續再給他 patch 下去了。

好!重點不在這,而是在溝通的過程中,要如何讓這些開發者瞭解這件事,讓他們知道為什麼有這樣的需求。

很多人在與 Open Source 的開發者溝通時,一開始可能就批評他們東西多爛技術多差,所以你們必須聽我的,因為我最厲害。很難相信這樣會有好的溝通結果。就像在 LifeType 開發中,我就遇過好幾次大陸或台灣朋友說 GB2312/Big5 才是正宗,用 UTF-8 是異端,當然近來已經少了;或是有人說用 PHP 寫程式幹嘛物件導向,物件導向就是慢,所以你們要不怎麼怎麼改,就是爛程式。這些人還沒講清楚重點,開發者其實已經不想聽了。

溝通的開始重點應該要放在讓開發者通盤瞭解目前這樣做的問題在哪裡,可以怎麼改,改了會有什麼影響。而不是一開始批評東批評西,這樣誰理你?還沒聽你講完想法,可能已經開始跟你吵架了。

另外必須要注意是,因為這本來就是由這些開發者發起的專案,所以要不要採用這個想法的決定權在開發者。可不要因為對方拒絕就惡言相向,既然是 Open Source,他們可沒有必要為你的突發奇想負任何的責任。

話說我過去一個禮拜中的書信往來,至少讓 dotProject 開發者知道,他們的 Framework 中 i18n 不足,所以我只好修改 3rd Party Library 來達到顯示中文的目的。另外,也讓他們知道因為他們不接受,所以所只好繼續維護一個我自己的 dotProJect Branch。皆大歡喜。

皆大歡喜?是嗎?想到我要繼續維護一個 Branch 就歡喜不太起來 Frown...  orz

Anyway,溝通的重點就是要有結果。這是我要的結果嗎?雖不滿意亦不遠矣!

真實引用網址:

http://blog.markplace.net/trackback.php?id=259

迴響 (10) · 引用 (0) 文章分類: 暗黑自由軟體界

迴響 ↓

  • 路人甲給你加油!!!
    biann  發表於 02/05/2007, 00:57

    給你加加油,因為我想應該沒有人比你更瞭解這些問題啦!!!
    所以要給你加油,別氣餒!!!

  • biann
    Mark  發表於 02/05/2007, 04:47

    謝謝 ...

    我沒氣餒啦, 只是陳述溝通的過程. 讓大家知道怎麼跟 Open Source 開發者溝通. 而不是一昧抱怨為什麼這些開發者頭殼那麼硬 :P

  • 威豆給你加油 !!
    威豆  發表於 02/05/2007, 12:22

    同樣的例子也不斷地在 OpenOffice.org 上演。
    我感同身受,因為跟我們討論的所謂開發者都不是懂中文的人。

    Anyway, 要走出自己的路來。
    一起加油吧 !!

  • 回覆: 該怎麼溝通呢?
    bFish  發表於 08/05/2007, 10:18

    在很久之前, 我也曾試者去patch修改 dotproject 星期中文的問題, 但只解決了星期中文顯示的問題而已, 就已經沒力了, JpGraph的中文亂碼問題, 就不知道該怎麼去修改了, 所以現在看到Mark這份patch, 就更加配服Mark了.

    在這裏提一個問題, dotproject不接受3rd Party Library 的patch的話, 那可不可以直接將這些patch提交給PEAR or JpGraph呢?

  • 回覆: 該怎麼溝通呢?
    tokimeki  發表於 09/05/2007, 12:27

    這樣的結果,該怎麼說呢?
    如果說我早就預見了,這樣會不會有點幸災樂禍的味道?

    其實我要說得事情是,元開發者的決策並沒有錯誤,這是因為他們不想去維護一個修改過的 3rd Party Library。

    如果你站在他的立場,你就會曉得你應該先去解決掉你對 3rd Party Library 的 Patch ,先回應給 3rd Party Library 的開發者,讓他們承認你的 Patch,並 Release 新的版本。
    然後再跟 dotProject 的開發者協調,請他們把 3rd Party Library 更新到新版。

    不過以上是比較正式的方法,搞起來曠日費時又不一定有效果。

    我個人盡量不用 PEAR 的原因也在於他對中文部份的支援很有限(說完全不支援有失厚道),另一個原因是我不喜歡 PEAR 的配置方式。

  • 你的確在幸災樂禍啊!
    Mark  發表於 09/05/2007, 13:45

    Tokimeki:

    正常的程序,其實我們都知道。但是你也應該知道,一樣行不通。

    以 MySQL UTF-8 patch 為例,在前年由 Pesty 做出後,同時也提到 ADODB 給原作者,但是他的說法是:『這是應用程式開發者的事,所以不願意加入』。

    而就是因為我站在 dotProject 的想法,所以才認為他必須自己 maintain 自己需要用的 patch。否則他可能要等很就才會等到 3rd party library 的開發者願意來幫他解決問題。甚至是等不到。

    呵呵!你得認清楚理想跟限時間的差異啊。 ^_^

    以 LifeType 的開發經驗而言,我當然希望 3rd party library 的開發者能 maintain 我需要 patch,但是當他們不 maintain 而我又必須用到時,我就必須來維護我自己要用的 branch,這當然有好有壞。可是,這就是現實。

    這是開發者要作的選擇,他有他的選擇,我有我的選擇。我一點也不怪他啊!

    至於 PEAR,我不喜歡他是因為他的相依性太強,而非對於中文的支援。

    如果你希望這些 3rd party library 對中文有好的支援,加入他一起開發,會比在外面叫囂來的有效。

  • 這也是我選擇的方式
    Mark  發表於 09/05/2007, 14:09

    To Tokimeki:

    『如果你希望這些 3rd party library 對中文有好的支援,加入他一起開發,會比在外面叫囂來的有效。』

    而這也是我目前選的方式,雖然他們未必馬上接受。因為『信任』是需要時間的。

    當我跟他們講怎麼作,他們當然不一定會馬上採用,一個是因為他們有他們的 Coding Style 與想法,另外一個就是對我的信任。

    你沒看很多 Open Source 對於 Patch,或是某些外來的建議,或是突然表現很積極的人是有小小的『戒心』的嗎?

    因為 Open Source 的暗黑太多了,大家已經學會小心。

  • 回覆: 該怎麼溝通呢?
    tokimeki  發表於 10/05/2007, 15:12

    好吧~我承認我是在幸災樂禍~

    我是很認清事實,所以後來我就不去做那些Patch的事情,理由只有一個:我很懶。

    所以要我去搞一個Branch,那是不太可能的事情。
    說實話,最近離程式的圈子越來越遠~

    對於寫程式我還是有熱情,不過得先完成對家庭的承諾。
    等兩、三年後,我把該繳的錢繳完,也完成我對目前這個工作的承諾後,我會回到程式的圈子來,到時再看看有什麼好玩的事情。

  • 熱情?
    Mark  發表於 11/05/2007, 06:12

    To Tokimeki:

    做事當然要有熱情,否則可能作不下去。不只再寫程式,對任何事都是如此吧。

    而對某件事沒有了熱情不是壞事,這代表該換一個環境了。

  • 回覆: 該怎麼溝通呢?
    ATang  發表於 07/06/2007, 00:34

    其实这也是当前大多数开源软件的短处——看起来是开放的,实际上是一小群人封闭在一个圈子里自娱自乐。
    ——实际上也有违开源的初衷了。
    ——虽然小心不是错,但是其中的暗黑真的有这么多么?我感觉是弊远远大于利。。。估计也是开源软件开发缓慢的原因。