精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

十個步驟:將你的封閉軟件轉(zhuǎn)化為開源

譯文
開源
Difio是一款基于Django的應(yīng)用程序,旨在追蹤軟件包狀態(tài)并在其發(fā)生變化時通知用戶。它提供多種變更分析選項,因此大家可以根據(jù)當(dāng)前掌握的情況決定何時或者如何實施軟件包升級。Difio本身是一款標(biāo)準(zhǔn)的封閉軟件,我決定把它轉(zhuǎn)化為開源項目以實現(xiàn)家庭開發(fā)并為其吸引到更多技術(shù)社區(qū)參與者。

[[112635]]

【51CTO精選譯文】Difio是一款基于Django的應(yīng)用程序,旨在追蹤軟件包狀態(tài)并在其發(fā)生變化時通知用戶。它提供多種變更分析選項,因此大家可以根據(jù)當(dāng)前掌握的情況決定何時或者如何實施軟件包升級。Difio本身是一款標(biāo)準(zhǔn)的封閉軟件,我決定把它轉(zhuǎn)化為開源項目以實現(xiàn)家庭開發(fā)并為其吸引到更多技術(shù)社區(qū)參與者。

簡化

任何一款已經(jīng)面世數(shù)年的應(yīng)用程序當(dāng)中都必然積累下一些不會再被用到的代碼以及功能。將這些無關(guān)緊要的部分加以清除能夠保證需要共享的代碼內(nèi)容更純粹也更簡潔。Difio開源化工作的第一步正在于此--將現(xiàn)有代碼庫的規(guī)模降低約20%。

具體工作內(nèi)容包括:

  • 未使用或者已經(jīng)過時的設(shè)置
  • Django應(yīng)用
  • 靜態(tài)文件與模板
  • 模型類
  • 遺留URL
  • 不建議使用的功能
  • 其它Python公用工具

舉例來說,在處理額外的依賴關(guān)系以及一次性代碼時,我過去一直習(xí)慣于將其記錄在某些模板以及純HTML當(dāng)中。我也設(shè)置過一些只使用過一、兩次的自定義模板標(biāo)簽。這一切都屬于被刪除的對象,最終保留下來的模板彼此之間都保持著較高的一致性。

對路徑、值以及URL等要素進(jìn)行硬編碼無疑是快速原型設(shè)計工作中無法回避的組成部分。在某些情況下,閉源應(yīng)用程序會繼承其開發(fā)環(huán)境所遺留下來的某些特征,而這些也需要加以調(diào)整。我曾經(jīng)在必要時使用過一部分自定義模板標(biāo)簽與設(shè)置。

創(chuàng)建自包含模塊

換句話來說,對文件結(jié)構(gòu)的重新構(gòu)建也在實現(xiàn)簡化的同時讓應(yīng)用本身顯得更加自然。創(chuàng)建自包含與獨立模塊使我們今后能夠更輕松地將它們彼此拆分開來。

Difio的web后端被部署在OpenShift之上,其中針對模板與狀態(tài)文件使用了不同的目錄層。我需要移動這些文件并更新Django設(shè)置,從而讓它們能夠更為恰當(dāng)?shù)剡M(jìn)行載入。這也迫使我重新思考該如何將原始靜態(tài)文件發(fā)送至CDN后端。

將內(nèi)部與外部代碼劃分開來

在應(yīng)用程序當(dāng)中使用一部分內(nèi)部代碼以提供更多信息可謂理所當(dāng)然。舉例來說,我們在實現(xiàn)使用情況及其它指標(biāo)追蹤、計費乃至其它功能時,內(nèi)部代碼可謂不可或缺。在web服務(wù)方面,這些代碼往往會被整合到核心功能當(dāng)中,因此作為開源轉(zhuǎn)化工作的重要部分、我們需要將其劃分出來。

著手轉(zhuǎn)化的過程也讓我們得以判斷哪些內(nèi)容需要被劃分出去、哪些最好繼續(xù)保留其中。舉例來說,Difio不會將測試實例劃分出去,這是為了減少將其從CI環(huán)境中明確劃分以及完全以web服務(wù)或者獨立應(yīng)用方式運行所帶來的額外工作量。

Difio當(dāng)中包含五大獨立模塊:

1. difio/ (核心用戶體驗所在)

2. 配置文件子系統(tǒng)

3. 計費模塊

4. 擴(kuò)展管理員界面

5. 相關(guān)模塊部署(大部分設(shè)置來源于此)

以上模塊彼此之間被明確區(qū)分開來且保持相互隔離,所有輸入與內(nèi)部依賴關(guān)系都被移除。目前difio/依賴于多個配置文件API以提供正確的缺省值。

這一步驟還能幫助大家將操作組件(例如定制化電子郵件模板)從核心用戶體驗當(dāng)中拆分出來。

代碼重構(gòu)

無需贅言,代碼重構(gòu)與測試也應(yīng)當(dāng)作為一項需要持續(xù)關(guān)注的工作內(nèi)容。不過到現(xiàn)在為止,大家可能已經(jīng)對全套現(xiàn)有源代碼(或者其中的大部分)進(jìn)行了快速審查,而且初步明確了其中哪些部分需要加以改進(jìn)。開源轉(zhuǎn)移也是提升軟件水準(zhǔn)的好機(jī)會,我們應(yīng)當(dāng)好好把握。

此外,我們也可以借此機(jī)會構(gòu)建起一套短期路線圖,其中包含需要修復(fù)的漏洞等之前收集到的公共問題信息。這套路線圖能幫助大家的新生項目在誕生之初表現(xiàn)出更為旺盛的活力與改進(jìn)態(tài)勢,這些特性是吸引更多貢獻(xiàn)者加入進(jìn)來的關(guān)鍵所在。

在Difio當(dāng)中,我對一部分方法以及大部分內(nèi)部代碼進(jìn)行了重構(gòu),旨在使其更好地與新應(yīng)用程序結(jié)構(gòu)相吻合。外部方法則姑且放在一邊、等待今后修復(fù),畢竟這部分改進(jìn)屬于"錦上添花"而非"雪中送炭"。

法律工作

根據(jù)軟件規(guī)模與復(fù)雜程度的不同,大家在對其進(jìn)行開源化整理與遷移時所需要付出的時間周期也會出現(xiàn)巨大差異。從選擇合適的開源許可、塑造品牌、在產(chǎn)品中注明作者、進(jìn)行法律審查并尋找可能存在專利侵權(quán)可能性的風(fēng)險代碼等等,這一切都是我們需要提前考慮的問題。

不過在Difio方面,這部分工作就簡單得多了。我選擇的是Apache 2.0許可,將許可標(biāo)題添加到全部源文件當(dāng)中,并妥善解決了自己能在互聯(lián)網(wǎng)上找到的全部與外部代碼相關(guān)的著作權(quán)與版權(quán)問題(在大部分情況下,應(yīng)用本身不會就此提出任何特定條款)。

更新并羅列外部依賴關(guān)系

作為一名軟件開發(fā)人員,大家必須要采取額外的處理步驟來應(yīng)對其它應(yīng)用程序的最新版本升級,同時確保自己的軟件能夠與它們保持順暢協(xié)作(或者至少要保持合理的協(xié)作效果)。沒人愿意為了運行大家的代碼而被迫使用舊有依賴關(guān)系,而且在大多數(shù)情況下這也是根本不可能的。

另外,大家還需要制訂一份依賴關(guān)系列表(例如requirements.txt文件),用于幫助使用者了解如何在運行軟件之前安裝其它必要程序。幸運的是,Difio是一款基于Django的應(yīng)用,因此升級問題很少、對外部方案的依賴關(guān)系也不是太強(qiáng)。

提供說明文檔與示例

對于任何一位剛剛接觸我們開源項目的新人來說,說明文檔的意義都可謂至關(guān)重要。畢竟我們的目的是建立起一套極具吸引力的社區(qū),因此保持其開放性是實現(xiàn)目標(biāo)的必要前提。而在這方面,撰寫說明文檔與示例就成了重中之重。

在Difio這邊,我編寫了一份README文件,其中詳細(xì)描述了與設(shè)置相關(guān)的各項內(nèi)容--這是考慮到該應(yīng)用擁有多套子系統(tǒng)(包括消息傳遞層以及計劃任務(wù)調(diào)度等),而這些子系統(tǒng)可以通過多種方式實現(xiàn)配置。我編寫的第二份文檔則是《內(nèi)容管理指南》,很明顯并不是每項工作都能夠以自動化方式完成、手動機(jī)制偶而也需要參與進(jìn)來。這兩份文檔涵蓋了Difio當(dāng)中最為重要的全部設(shè)計與部署特性--不過除此之外,大家可能還需要為自己的項目準(zhǔn)備更多說明文檔。

創(chuàng)建一套公共代碼庫

現(xiàn)在是時候創(chuàng)建一套公共代碼庫并著手進(jìn)行軟件交付了。

在Difio開源項目中,我決定把整個difio/目錄從原有位置復(fù)制出來作為最初的提交內(nèi)容。這樣做的弊端在于此前所有歷史提交內(nèi)容都將不再可用,但我選擇這種作法是為了避免已經(jīng)被以硬編碼方式添加到代碼片段中的密鑰與密碼遭到泄露。

在生產(chǎn)過程中,我利用git子模塊取代了difio/目錄;這一方面是為了加快發(fā)布/部署周期,另一方面則因為我的云環(huán)境選擇了git作為部署機(jī)制。

從現(xiàn)在開始,大家對源代碼進(jìn)行的一切調(diào)試及修改都將以公開方式進(jìn)行。

在全新環(huán)境下測試單機(jī)部署

截至目前,大家的注意力可能一直集中在對現(xiàn)有本地副本的調(diào)試以及對應(yīng)用程序前續(xù)版本遺留下來的內(nèi)容--例如依賴關(guān)系、環(huán)境配置等等--進(jìn)行遍歷上。不過接下來我們需要轉(zhuǎn)換思路,從外部用戶的視角出發(fā)在全新環(huán)境下著手測試--這能夠幫助我們進(jìn)一步完善說明文檔并清理遺留問題。

在對Difio進(jìn)行測試時,我發(fā)現(xiàn)了幾項之前忽略掉的或者剛剛出現(xiàn)的運行要求、缺少或者未經(jīng)恰當(dāng)處理的設(shè)置方式外加一些存在錯誤或者內(nèi)容不夠完整的說明文檔。

在這部分工作完成之后,別急著休息、從頭開始再進(jìn)行一次,直到每個步驟都擁有正確的解釋并適用于作為運行基礎(chǔ)的全新設(shè)備。這至少能夠確保未來的項目貢獻(xiàn)者及用戶能夠順利地將軟件安裝在自己的計算機(jī)上。

發(fā)布

終于迎來了最后一項工作!寫下屬于自己的宣傳稿件,并向全世界介紹自己的這款新軟件。祝賀各位,從這一刻時你已經(jīng)正式步入開源陣營!

原文鏈接:http://opensource.com/business/14/5/10-steps-migrate-closed-to-open-source

責(zé)任編輯:黃丹 來源: 51CTO.com
相關(guān)推薦

2024-12-18 15:27:10

2023-01-29 16:15:59

開源代碼

2022-07-13 13:33:39

企業(yè)開源開發(fā)

2011-12-14 10:21:26

最重要開源軟件

2016-04-19 09:43:16

2023-10-20 14:36:08

開源軟件.Net開發(fā)

2010-08-30 17:40:49

DHCP端口

2011-08-15 09:15:09

私有云云計算

2024-05-13 11:43:39

Python數(shù)據(jù)分析CSV

2023-02-26 21:56:14

2024-01-12 16:01:10

2025-08-13 07:50:59

2010-01-06 09:17:57

軟件重用

2023-06-09 10:27:13

Vue開源

2023-06-03 20:41:26

Discord機(jī)器人開源

2023-07-14 10:53:00

開源前端

2012-10-29 14:18:58

開源云計算

2023-05-31 10:08:51

2011-02-22 13:06:33

2023-06-16 12:11:08

Linux虛擬化軟件
點贊
收藏

51CTO技術(shù)棧公眾號

夜夜嗨av色一区二区不卡| 亚洲五月六月丁香激情| 国产中文字幕91| 黄视频网站免费看| 久久久久影视| 欧美性受xxxx黑人xyx性爽| 欧美三级午夜理伦三级老人| 人人妻人人澡人人爽久久av| 天堂午夜影视日韩欧美一区二区| 亚洲一品av免费观看| 中文字幕在线视频一区二区| 国产又色又爽又黄刺激在线视频| a级精品国产片在线观看| 日本一区二区三区四区视频| 麻豆天美蜜桃91| 欧美jizz19性欧美| 5858s免费视频成人| 日本一道本久久| 3p视频在线观看| 成人性生交大合| 国产精品高潮呻吟视频| 国产一级视频在线| 日韩精品dvd| 亚洲激情第一页| 亚洲欧美天堂在线| 网友自拍亚洲| 亚洲一二三四区不卡| 先锋影音日韩| 无码国产精品96久久久久| 激情欧美一区二区三区在线观看| 97在线观看免费高清| 欧美成人777| 琪琪久久久久日韩精品| 日韩精品一区二区三区三区免费| 天天爽人人爽夜夜爽| 亚洲福利影院| 午夜精品免费在线观看| 亚洲成年人专区| jizz在线免费观看| 久久嫩草精品久久久精品| 国产精品麻豆免费版| 一级黄色片在线| 日韩电影在线观看电影| 97视频免费在线看| 久久国产一级片| 欧美暴力喷水在线| 久久艹在线视频| 国产美女久久久久久| 国产一区毛片| 亚洲欧美日韩高清| 免费在线观看成年人视频| 国产精品极品| 精品久久久久久无| 亚洲欧美高清在线| 99精品国产一区二区三区2021| 在线综合亚洲欧美在线视频| 手机在线国产视频| 亚洲最大的免费视频网站| 欧美理论片在线| 色呦色呦色精品| 亚洲成人高清| 91精品国产入口在线| 一级片黄色免费| 亚洲精品午夜| 精品动漫一区二区三区在线观看| 国产成人精品综合久久久久99| 久久久久九九精品影院| 91麻豆精品国产91久久久久| av在线网站免费观看| 9l视频自拍蝌蚪9l视频成人| 亚洲第一福利视频| 中文字幕一区二区久久人妻网站| 青青操综合网| 在线亚洲午夜片av大片| 免费黄色国产视频| 你懂的国产精品永久在线| 欧美激情亚洲自拍| 天天干天天干天天操| 日韩二区在线观看| 亚洲精品欧美极品| 韩国av免费在线| 久久久久久日产精品| 亚洲高清在线观看一区| 成人日日夜夜| 香蕉av福利精品导航| 97视频在线免费播放| 国产精品伊人| 欧美tk—视频vk| wwwwww日本| 婷婷六月综合| 久久人人爽人人爽人人片av高请| www毛片com| 狠狠色伊人亚洲综合成人| 国产精品麻豆免费版| 91ph在线| 五月婷婷欧美视频| 婷婷免费在线观看| 成人搞黄视频| 亚洲人成亚洲人成在线观看| 男人晚上看的视频| 国产亚洲激情| 91亚洲精品在线| 日韩a在线看| 亚洲欧美一区二区三区久本道91| 日本wwwcom| 成人免费网站www网站高清| 日韩精品中文字幕在线不卡尤物| 国产成人av一区二区三区不卡| 亚洲综合激情在线| 日本高清+成人网在线观看| 99久久久久成人国产免费| 91麻豆.com| 青草全福视在线| 亚州一区二区三区| 精品国产乱码久久久久久老虎| 中文字幕成人动漫| 最新国产拍偷乱拍精品| 成人h片在线播放免费网站| 四虎成人免费在线| 亚洲一卡二卡三卡四卡五卡| 亚洲天堂av一区二区| 曰本一区二区三区视频| 欧美日韩aaaa| 国产乱淫a∨片免费视频| 中文字幕久久午夜不卡| 奇米精品一区二区三区| 清纯唯美激情亚洲| 中文字幕日韩在线观看| 五月激情六月丁香| 成人av网址在线观看| 特级黄色录像片| 成人交换视频| 亚洲欧美自拍一区| 久久国产黄色片| 成人av电影在线| 日本精品福利视频| 国产精品久久久久久av公交车| 国产一区二区激情| 免费看污视频的网站| 久久一日本道色综合| 日韩欧美国产综合在线| 亚洲精品高潮| 欧美高清电影在线看| 国产深喉视频一区二区| 亚洲天堂精品在线观看| 男女污污视频网站| 国产精品国内免费一区二区三区| 国产噜噜噜噜噜久久久久久久久 | 91九色综合| 一区二区成人精品| 波多野结衣黄色| 国产视频在线观看一区二区三区| 国产成人久久777777| 香蕉人人精品| 国产成人精品免费视频| 国产小视频在线| 欧美自拍丝袜亚洲| 精品亚洲aⅴ无码一区二区三区| 三级久久三级久久久| 日韩精品久久久毛片一区二区| 欧美色片在线观看| 自拍偷拍亚洲区| 国产精品一区二区黑人巨大| 亚洲男人的天堂在线aⅴ视频| 五月天视频在线观看| 欧美日韩岛国| 国产在线一区二区三区播放| 美女网站在线看| 亚洲一级黄色片| 国产精品一品二区三区的使用体验| 亚洲伦在线观看| 成人性生活免费看| 久热re这里精品视频在线6| 日韩伦理一区二区三区av在线| 粉嫩av一区二区三区四区五区| 日韩在线观看网站| 亚洲AV无码一区二区三区少妇| 亚洲高清免费视频| 亚洲最大成人网站| 男男成人高潮片免费网站| 亚洲免费视频播放| 啪啪激情综合网| 91精品国产综合久久香蕉| 日本高清在线观看| 日韩成人小视频| 中文字幕一区二区在线视频| 一区二区三区不卡视频| 亚洲黄色在线网站| 久久成人综合网| 青青草精品视频在线| 精品视频免费| 国产超碰91| 日韩高清在线| 久久久久久久久久久av| 国产区在线视频| 欧美不卡一二三| 夜夜躁日日躁狠狠久久av| 一区二区三区四区不卡在线| 性の欲びの女javhd| 国产成人av一区二区三区在线 | 9i在线看片成人免费| www.日日操| 极品中文字幕一区| 亚洲精品在线免费| 奇米777国产一区国产二区| 91夜夜未满十八勿入爽爽影院| 中文一区一区三区高中清不卡免费| 俺去啦;欧美日韩| 免费一级在线观看播放网址| 日韩亚洲欧美综合| 伊人成年综合网| 亚洲成人av在线电影| 午夜精品福利在线视频| 国产免费久久精品| 香港三日本8a三级少妇三级99| 麻豆精品新av中文字幕| 久久久久久久久久久久久国产精品| 在线成人超碰| 亚洲va久久久噜噜噜久久狠狠 | 中文字字幕在线中文| 亚洲男人都懂的| 久久精品国产亚洲AV成人婷婷| 9久草视频在线视频精品| 成年人看片网站| 久久97超碰色| 91极品视频在线观看| 亚洲一区一卡| 久久久久久久久久网| 欧美精品一卡| 最近看过的日韩成人| 日韩一区电影| 亚洲国产欧美一区二区三区不卡| 欧美毛片免费观看| 国产女人水真多18毛片18精品| 欧洲大片精品免费永久看nba| 亚洲综合小说区| 电影一区二区三区久久免费观看| 欧美顶级少妇做爰| www.国产高清| 亚洲韩国精品一区| 欧美精品99久久久| 亚洲男人天堂av| 可以直接看的黄色网址| 亚洲免费电影在线| 日韩欧美国产成人精品免费| 成人免费小视频| 美国黄色片视频| 成人欧美一区二区三区视频网页| 精品一区二区在线观看视频| 国产精品丝袜久久久久久app| 欧美人与性囗牲恔配| 国产欧美一区二区精品久导航 | 亚洲天堂2014| 四虎影院中文字幕| 亚洲免费观看高清在线观看| 永久看片925tv| 亚洲另类在线一区| 欧美日韩在线视频免费播放| 一区二区三区精品视频在线| 国产在线视频二区| 精品国产乱码久久久久久天美| 五月婷婷亚洲综合| 在线免费观看不卡av| 怡红院成永久免费人全部视频| 欧美日韩一区二区三区高清| 国产免费黄色大片| 欧美变态口味重另类| 亚洲色图欧美视频| 国产亚洲欧美日韩精品| 欧美激情免费| 欧美夫妻性生活xx| 亚洲国产欧美日本视频| 国产精品久久久久99| 91精品网站在线观看| av在线亚洲男人的天堂| 秋霞影院一区二区三区| 婷婷四房综合激情五月| 小处雏高清一区二区三区| 国产精品久久久久9999爆乳| 亚洲一区国产| caoporm在线视频| gogogo免费视频观看亚洲一| 久久久免费看片| 亚洲最大的成人av| 久久久久久久亚洲| 欧美一卡2卡三卡4卡5免费| 特黄aaaaaaaaa真人毛片| 国产亚洲一区精品| 欧美寡妇性猛交xxx免费| 日韩av成人在线| 精品三级国产| 欧美少妇一区| 欧美日本一区二区视频在线观看 | 尤物99国产成人精品视频| av网站导航在线观看免费| 欧美专区中文字幕| 精品久久久久久久久久岛国gif| 久久久久网址| 亚洲综合五月| 日日噜噜噜噜久久久精品毛片| 国产成人免费视频网站| 国产又黄又粗视频| 亚洲午夜电影网| 又骚又黄的视频| 亚洲精品短视频| 超碰公开在线| 国产精品99久久久久久人| 哺乳挤奶一区二区三区免费看 | 中文在线一区二区三区| 国产精品国产自产拍高清av王其| 日本熟妇一区二区| 在线成人免费视频| 精品亚洲综合| 性色av一区二区咪爱| 奇米一区二区| 最新欧美日韩亚洲| 蜜桃一区二区三区在线| 国产美女喷水视频| 亚洲乱码国产乱码精品精98午夜| 天天干天天插天天射| 日韩精品久久久久| 俺来俺也去www色在线观看| 国产九九精品视频| 欧美肉体xxxx裸体137大胆| ww国产内射精品后入国产| 国产精品99久久久久久似苏梦涵 | 午夜在线视频| 欧美性受xxxx黑人猛交| www国产精品| 超碰97在线看| 久久婷婷五月综合色国产香蕉| 成人精品一区二区三区中文字幕| 国产精品成人69xxx免费视频| 在线观看www91| 免费在线视频你懂得| 欧美做受高潮1| 久久97精品| 国产一级爱c视频| 成人aa视频在线观看| 久久精品久久精品久久| 精品日韩在线观看| 国产探花在线观看| 国产精品久久亚洲7777| 99热在线精品观看| 7788色淫网站小说| 狠狠干狠狠久久| 久草在现在线| 国产精品黄视频| 日韩精品午夜| 五月激情婷婷在线| 亚洲嫩草精品久久| 成人av手机在线| 97在线视频免费播放| 亚州综合一区| 免费男同深夜夜行网站| 中文字幕欧美日韩一区| 中文字幕在线观看高清| 久久精品成人欧美大片| 精品中文在线| 18禁网站免费无遮挡无码中文| 久久夜色精品国产欧美乱极品| 天堂网中文字幕| 在线观看国产欧美| 国产精品日韩精品在线播放 | 污视频免费在线观看| 国产精华一区| 免费日韩视频| 亚洲女人久久久| 欧美xxxx在线观看| 日韩欧美一中文字暮专区| 蜜桃视频成人| 久久精品999| 久久久久久久久久久网| 精品视频在线播放免| 成人国产精品入口免费视频| 成人在线观看毛片| 91在线看国产| 91精品视频免费在线观看| 欧美黄色三级网站| 久草在线成人| 香蕉视频在线观看黄| 色婷婷亚洲一区二区三区| 在线观看黄色av| 国产成人精品自拍| 日韩精品电影一区亚洲| 亚洲国产美女视频| 精品亚洲aⅴ在线观看| 色狠狠一区二区三区| 日本中文字幕网址| 国产精品理论片在线观看| 黑人操亚洲女人| 国产精品丝袜白浆摸在线| 精品999日本| 中文字幕黄色网址| 亚洲二区在线播放视频| 日韩福利影视| 国产 福利 在线| 亚洲激情图片qvod| 成年人在线视频免费观看| 国产精品我不卡|