- 相關(guān)推薦
計(jì)算機(jī)軟件反向工程問題研究
計(jì)算機(jī)軟件反向工程是軟件程序員研究程序、交流程序、造福用戶的一種方法,下面是小編搜集自的一篇探究計(jì)算機(jī)軟件反向工程概況的論文范文,供大家閱讀參考。
【摘 要】計(jì)算機(jī)軟件反向工程是指計(jì)算機(jī)程序員找出一款現(xiàn)有軟件的源代碼,對它進(jìn)行分析,并創(chuàng)造出另一款軟件。由于計(jì)算機(jī)的軟件具有一次性投入成本高、可多次復(fù)制的特點(diǎn),所以反向工程造成種種問題。本文從計(jì)算機(jī)軟件反和工程目的、計(jì)算機(jī)軟件反向工程對計(jì)算機(jī)軟件開發(fā)市場的危害、約束計(jì)算機(jī)軟件反向工程的困境幾個方面進(jìn)行研究。
【關(guān)鍵詞】計(jì)算機(jī)軟件 反向工程
一、計(jì)算機(jī)軟件反向工程的概念
計(jì)算機(jī)軟件是由特定的程序語言編寫成的。目前絕大部分的軟件是由于程序語言編寫出功能模塊,再對功能模塊組合構(gòu)成一款軟件。他人在使用這塊軟件時(shí),有時(shí)會想對這款軟件的思路流程、語言用法進(jìn)行研究,因此會用一種特別的技巧通過對軟件的反向解析找出軟件的源代碼,對軟件的源代碼進(jìn)行分析和研究,然后根據(jù)自己的需要創(chuàng)造出一個新的計(jì)算機(jī)軟件產(chǎn)品。從這個過程可以看到,反向工程的步驟有三個:找出源代碼,對源代碼進(jìn)行分析和理解,創(chuàng)作出另一款新的產(chǎn)品。只有完成以上三個步驟,才算完成計(jì)算機(jī)軟件的反向工程。如果用計(jì)算機(jī)軟件反向工程重新研制出一款軟件那只是個人的事情,然而如果將計(jì)算機(jī)軟件的反向工程作品散布出去,則會引起一系列的問題。
二、進(jìn)行計(jì)算機(jī)軟件反向工程的目的
計(jì)算機(jī)軟件具有藝術(shù)價(jià)值,一個很好的軟件會做到功能和諧、界面和諧、設(shè)計(jì)和諧,達(dá)成一種藝術(shù)的效果,比如電子游戲軟件就被人稱作第九藝術(shù);具有科學(xué)價(jià)值,計(jì)算機(jī)軟件是由各種程序代碼寫成,這些程序代碼之間有嚴(yán)密的邏輯關(guān)系,如果研究計(jì)算機(jī)軟件,將獲得很大的科學(xué)價(jià)值;具有商業(yè)價(jià)值,計(jì)算機(jī)軟件的商業(yè)價(jià)值具有一次性投入多,然而卻可以用少量成本獲得極大商業(yè)利潤的特點(diǎn)。由于詐算機(jī)軟件有以上的特點(diǎn),所以很多人熱衷于計(jì)算機(jī)軟件反向工程?傮w來說,通常人們進(jìn)行計(jì)算機(jī)軟件反向工作的目的如下:
(一)優(yōu)化軟件的目的
1.排除運(yùn)行故障
計(jì)算機(jī)軟件在設(shè)計(jì)時(shí),往往會存在各式各樣運(yùn)行的漏洞,這些軟件在開發(fā)時(shí)也許沒有得到徹底的檢驗(yàn),而軟件流向市場后,由于大范圍的被使用,軟件的運(yùn)行漏洞也得到反饋。如果有些計(jì)算機(jī)軟件程序員要優(yōu)化計(jì)算機(jī)軟件,可以通過計(jì)算機(jī)軟件的反向工程了解程序代碼的編寫思想,通過優(yōu)化的方法減少軟件的運(yùn)行漏洞。
2.減少安全漏洞
從法律的角度上來說,計(jì)算機(jī)軟件的創(chuàng)作者只需要對軟件的性能負(fù)責(zé),而不需要對安全故障負(fù)責(zé),所以很多計(jì)算機(jī)軟件設(shè)計(jì)者會忽視安全漏洞的問題。實(shí)際上計(jì)算機(jī)軟件的安全漏洞也是衡量軟件性能的一個方面。如果一款軟件安全故障太多,則軟件在計(jì)算機(jī)中運(yùn)行,很容易出現(xiàn)安全隱患。有些程序設(shè)計(jì)員為了改善軟件的安全漏洞而實(shí)行計(jì)算機(jī)軟件反向工程。
(二)改變軟件的功能
一款計(jì)算機(jī)軟件的功能可能是綜合的,可能是單一的。它的功能不一定適合所有用戶的需要。有些軟件程序員認(rèn)為該款軟件的功能不適合用戶的需要,可能通過計(jì)算機(jī)軟件反向工程對軟件的功能重新進(jìn)行調(diào)整。有時(shí)程序員會精減一些軟件的功能,只保留軟件的基本功能;有時(shí)程序員會閱讀軟件的程序代碼,將它的功能組合在另一款軟件上。比如說著名的平面制圖軟件Photoshop,它官方的軟件功能非常齊備。有一些民間軟件程序員將它實(shí)行反向工程,提煉出綠色精減的版本,滿足一些用戶基本的功能需求;有一些軟件程序員則提供組合版本,他們將大量的功能插件直接組合在程序上,人們只需要安裝一款軟件就不需要額外尋找插件,這種組合版給人們帶來很大的便利。
(三)商業(yè)開發(fā)的目的
要開發(fā)一款計(jì)算機(jī)軟件,它的成本投入主要在計(jì)算機(jī)軟件研發(fā)上,此時(shí)開發(fā)者需要投入大量的人力才力對軟件進(jìn)行開發(fā)和測試,然而一旦開發(fā)結(jié)束,那么軟件投入市場后,需要投入的宣傳成本、生產(chǎn)生本則很有限。因?yàn)檐浖哂袩o限復(fù)制的特性,有些商家瞅準(zhǔn)一些軟件潛在的商機(jī),想研發(fā)近似的軟件投入市場進(jìn)行競爭,卻不愿意花費(fèi)大量的研發(fā)成本,因此可能用反向工程的方法竊取他人的勞動成果,達(dá)到自己的商業(yè)目的。
三、計(jì)算機(jī)軟件反向工程對計(jì)算機(jī)軟件開發(fā)市場的危害
計(jì)算機(jī)軟件反向工程雖然能提高軟件質(zhì)量、加強(qiáng)程序員之間的交流,然而由于計(jì)算機(jī)軟件本身的特點(diǎn),如果軟件反向工程被濫用,則會引起種種危害。這些危害包括:
(一)侵犯原創(chuàng)者的利益
一款計(jì)算機(jī)軟件研發(fā)出來,需要耗費(fèi)原創(chuàng)者很多成本。這些成本包括人力、物力、財(cái)力,如果有人用計(jì)算機(jī)軟件反向工程重新制作軟件,則有可能危害軟件研發(fā)者的利益。比如以Photoshop為例,Photoshop是一款商業(yè)軟件,它是需要將軟件投放市場贏得利潤,如果利用計(jì)算機(jī)軟件反向工程將軟件的驗(yàn)證密碼破譯,并且隨意更改軟件的功能,那么軟件制作公司的商業(yè)利益則受到侵犯。
(二)引起不當(dāng)?shù)母偁?/p>
由于計(jì)算機(jī)軟件的特點(diǎn),如果有人通過計(jì)算機(jī)軟件反向工程將軟件的功能模塊提取并且修改,作為另一款商業(yè)軟件投放市場,那么由于反向工程并不需要投入太多的研發(fā)成本,它需要花費(fèi)的成本極少。以這種方式進(jìn)入市場競爭,是對軟件原創(chuàng)者的不公平。比如360軟件開發(fā)出軟件醫(yī)生,騰訊軟件也緊隨著開發(fā)功能幾乎完全一致的軟件醫(yī)生,它將這樣的軟件與QQ軟件捆綁投入市場,該種競爭行為屬于性質(zhì)惡劣的不當(dāng)競爭。
(三)扼殺軟件的創(chuàng)造力
如果計(jì)算機(jī)軟件反向工程的作品投放在市場上,它能給軟件原創(chuàng)者巨大的沖擊。它不僅會削弱原創(chuàng)軟件的競爭力,還會使軟件設(shè)計(jì)者受到極大的經(jīng)濟(jì)損失。如果反向工程不能得到必要的限制,那么長此下去,很多計(jì)算機(jī)程序員都會熱衷于用軟件反向工程獲得經(jīng)濟(jì)利潤而不愿意做創(chuàng)造軟件這種吃力不討好的事情。因此,反向工程可能會極大挫創(chuàng)軟件設(shè)計(jì)者的創(chuàng)造性,使市場上很難再有創(chuàng)新的軟件。
四、約束計(jì)算機(jī)軟件反向工程的困境
知識產(chǎn)權(quán)是指公民、法人、組織在科學(xué)技術(shù)或文化藝術(shù)等領(lǐng)域內(nèi),用腦力勞動創(chuàng)造出的成果享有專有的權(quán)力。如果侵犯知識產(chǎn)權(quán),將要承擔(dān)法律責(zé)任。知識產(chǎn)權(quán)的構(gòu)成要件有以下四個:行為人要構(gòu)成對原創(chuàng)者造成損害的事實(shí);行為人要構(gòu)成違反法律的事情;行為人因?yàn)橹饔^的原因給原創(chuàng)者造成損害;因?yàn)樾袨槿说男袨閷υ瓌?chuàng)者造成損害。根據(jù)知識產(chǎn)權(quán)的界定,計(jì)算機(jī)軟件的創(chuàng)作屬于知識產(chǎn)權(quán)的保護(hù)范圍。 然而在實(shí)際的法律界定中,計(jì)算機(jī)軟件反向工程是否構(gòu)成侵犯知識產(chǎn)權(quán)又往往存在很多問題。其中存在的問題如下:
(一)評估軟件相似度指標(biāo)的問題
在知識產(chǎn)權(quán)的判定中如果判斷侵犯知識產(chǎn)權(quán),將要承擔(dān)法律責(zé)任。在知識產(chǎn)權(quán)的判斷中,構(gòu)思不作為知識產(chǎn)權(quán)保護(hù)的對像,只有出現(xiàn)侵犯知識產(chǎn)權(quán)的事實(shí),才能構(gòu)成構(gòu)成侵犯知識產(chǎn)權(quán)。如果在普通的文藝作品中,可以根據(jù)相似的文字、相似的情節(jié)來作為判斷是否侵犯知識產(chǎn)權(quán)的指標(biāo),那么計(jì)算機(jī)軟件反向工程又以什么指標(biāo)還判斷是否侵犯知識產(chǎn)權(quán)?軟件的代碼通常是用相似的語言格式寫成,那么不能以相似度作為判斷標(biāo)準(zhǔn)。就目前來說,以軟件的相似度作為評體標(biāo)準(zhǔn)似乎比較合理。
(二)軟件反向工程盈利的問題
如果行為人將一款軟件進(jìn)行反向工程創(chuàng)作出另一款軟件,并且投入商業(yè)盈利中,那么可以判定為不當(dāng)競爭,并且要承擔(dān)法律責(zé)任。然而部分行為人創(chuàng)造出軟件反向工程僅僅只為了完善軟件的功能,他們主觀上傳播軟件是為了非盈利的目的,然而卻給軟件創(chuàng)造者造成了實(shí)際的商經(jīng)濟(jì)利益侵害,如果以知識產(chǎn)權(quán)的標(biāo)準(zhǔn),他們的行為為非主觀侵害,那么很難依侵犯知識產(chǎn)權(quán)的法律對該種行為進(jìn)行約束;部分行為人將反向工程的軟件綁捆在另一款軟件中,通過捆綁的方式加大自己軟件的價(jià)值,該種行為也是非盈利行為,然而也對軟件創(chuàng)造者造成利益侵犯,那么如何用現(xiàn)有的知識產(chǎn)權(quán)對軟件反向工程的行為進(jìn)行定義?目前認(rèn)為,如果軟件通過指標(biāo)判定,確屬反向工程,那么應(yīng)以傳播的數(shù)量來論定是否造成傷害會比較合理。
(三)激勵軟件原創(chuàng)的問題
如果軟件反向工程能夠獲得巨大的利潤,而軟件的原創(chuàng)者耗費(fèi)巨大的成本卻難以得到利潤回報(bào),如果軟件創(chuàng)造人員的積極性長期被挫傷,這個軟件市場一定是畸型的。在這片市場下孕育出的商品也一定沒有創(chuàng)造力。為了激勵原創(chuàng)軟件作品,讓原創(chuàng)軟件作品有盈利的空間,就需要對軟件反向工程不當(dāng)盈利追究法律責(zé)任,而要用法律的方法對計(jì)算機(jī)軟件反向工程進(jìn)行約束則需要細(xì)化知識產(chǎn)權(quán)的內(nèi)容。它要求知識產(chǎn)權(quán)制訂的細(xì)節(jié)能適當(dāng)信息時(shí)代的需要。如果不能在立法上保護(hù)軟件創(chuàng)造者的利益、在執(zhí)法上對投機(jī)取巧的行為人給于嚴(yán)厲的打擊,那么將無法形成良好的軟件創(chuàng)造環(huán)境,就會造成計(jì)算機(jī)軟件創(chuàng)造的危機(jī)。
五、總結(jié)
計(jì)算機(jī)軟件反向工程并不是一件應(yīng)當(dāng)受到指責(zé)的事情,它是軟件程序員研究程序、交流程序、造福用戶的一種方法,然而如果不能對軟件反向工程有效的界定,這種行為將會造成極嚴(yán)重的危害。因此,制定知識產(chǎn)權(quán)法律的人員和與之相關(guān)的人員應(yīng)當(dāng)重視計(jì)算機(jī)軟件反向工程的問題,給計(jì)算機(jī)軟件創(chuàng)造一個良好的環(huán)境。
參考文獻(xiàn):
[1].中華人民共和國著作權(quán)法.
[2].黃勤南.尉曉珂.計(jì)算機(jī)軟件的知識產(chǎn)權(quán)保護(hù).北京:專利文件出版社,1999(8).
[3].吳漢東.軟件合理使用制度研究.北京:北京大學(xué)出版社,1991.
【計(jì)算機(jī)軟件反向工程問題研究】相關(guān)文章:
計(jì)算機(jī)軟件在項(xiàng)目工程中的應(yīng)用研究11-22
工程項(xiàng)目成本核算問題研究03-18
淺析土木工程施工管理問題研究11-30
公務(wù)法人問題研究12-06
防衛(wèi)限度問題研究12-12
數(shù)學(xué)問題研究論文12-02