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