Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

mã nguồn mở là gì ?

3 posters

Go down

mã nguồn mở là gì ? Empty mã nguồn mở là gì ?

Bài gửi  HuynhThaiKhoa(pt1) 12/10/2010, 20:01


Phần mềm nguồn mở (PMNM) là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép PMNM (ví dụ General Public Licence – GPL) mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng (tức là phần mềm thương mại).

Nhà cung cấp phần mềm nguồn mở có quyền yêu cầu người dùng trả một số chi phí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv... tức là những dịch vụ thực sự đã thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào.

Trên thị trường phần mềm, có nhiều loại giấy phép. Có thể chia các giấy phép này đại khái như sau [1]:

▪ Phần mềm thương mại (Commercial Software)
Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ được cung cấp ở dạng mã nhị phân, người dùng phải mua và không có quyền phân phối lại.

▪ Phần mềm thử nghiệm giới hạn (Limited Trial Software)
Là những phiên bản giới hạn của các phần mềm thương mại được cung cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản phẩm và kích thích người dùng quyết định mua. Loại sản phấm này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian dùng thử (thường là 60 ngày).

▪ Phần mềm “chia sẻ” (Shareware)
Loại phần mềm này có đủ các tính năng và được phân phối tự do, nhưng có một giấy phép khuyến cáo các cá nhân hoặc tổ chức mua, tùy tình hình cụ thể. Nhiều tiện ích Internet (như “WinZip” dùng các thuận lợi của Shareware như một hệ thống phân phối).

▪ Phần mềm sử dụng phi thương mại (Non-commercial Use)
Loại phần mềm này được sử dụng tự do và có thể phân phối lại bởi các tổ chức phi lợi nhuận. Nhưng các tổ chức kinh tế, thí dụ các doanh nghiệp, ... muốn dùng phải mua. Netscape Navigator là một thí dụ của loại phần mềm này.

▪ Phần mềm không phải trả phần trăm cho nhà sản xuất (Royalties Free Binaries Software)
Phần mềm được cung cấp dưới dạng nhị phân và được dùng tự do. Thí dụ: bản nhị phân của các phần mềm Internet Explorer và NetMeeting.

▪ Thư viện phần mềm không phải trả phần trăm (Royalties Free Software Libraries)
Là những phần mềm mà mã nhị phân cũng như mã nguồn được dùng và phân phối tự do, nhưng người dùng không được phép sửa đổi. Thí dụ: các thư viện lớp học, các tệp “header”, vv ...

▪ Phần mềm mã nguồn mở kiểu BSD - (Open Source BSD-style)
Một nhóm nhỏ khép kín (closed team) đã phát triển các PMNM theo giấy phép phân phối Berkely (BSD – Berkely Software Distribution) cho phép sử dụng và phân phối lại các phần mềm này dưới dạng mã nhị phân và mã nguồn. Tuy người dùng có quyền sửa đổi mã, nhưng về nguyên tắc nhóm phát triển không cho phép người dùng tự do lấy mã nguồn từ kho mã ra sửa (gọi là check-out) và đưa mã đã sửa vào lại kho mã mà không được họ kiểm tra trước (gọi là các “check-in”) [2].

▪ PMNM kiểu Apache (Open Source Apache-style)
Chấp nhận nguồn mở kiểu BSD nhưng cho phép những người ngoài nhóm phát triển xâm nhập vào lõi của mã nền (core codebase), tức là được phép thực hiện các “check-in”.

▪ PMNM kiểu CopyLeft hay kiểu Linux (Open Source CopyLeft, Linux-style)
PMNM kiểu CopyLeft (trò chơi chữ của Free Software Foundation – FSF – và GNU – Gnu’s Not Unix, để đối nghịch hoàn toàn với CopyRight !) hay còn gọi là giấy phép GPL (General Public Licence) là một bước tiến quan trọng theo hướng tự do hóa của các giấy phép phần mềm. Giấy phép GPL yêu cầu không những mã nguồn gốc phải được phân phối theo các qui định của GPL mà mọi sản phẩm dẫn xuất cũng phải tuân thủ GPL.

GPL cho người dùng tối đa quyền hạn và tự do đối với các PMNM theo GPL, cụ thể người dùng có quyền không những sao chép, sửa đổi, mua bán các PMNM dưới CopyLeft mà còn được quyền tự do như vậy đối với các phần mềm dẫn xuất. Tóm lại nếu PMNM gốc đã theo CopyLeft thì mọi PMNM dẫn xuất của nó cũng đương nhiên theo CopyLeft

HuynhThaiKhoa(pt1)

Tổng số bài gửi : 13
Join date : 29/09/2010

Về Đầu Trang Go down

mã nguồn mở là gì ? Empty Re: mã nguồn mở là gì ?

Bài gửi  Dang Hong Phuc (PT1) 13/10/2010, 09:43

Đọc xong mới biết mình ngu

Dang Hong Phuc (PT1)

Tổng số bài gửi : 125
Join date : 19/09/2010

Về Đầu Trang Go down

mã nguồn mở là gì ? Empty Re: mã nguồn mở là gì ?

Bài gửi  Nguyen_xuan_tam0951010034 21/10/2010, 15:34

đọc xong chỉ toàn là sơ thôi!chẳng được muối nào hết Mad
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

mã nguồn mở là gì ? Empty Re: mã nguồn mở là gì ?

Bài gửi  Dang Hong Phuc (PT1) 28/10/2010, 14:07

Khái niệm Nguồn Mở có lẽ không còn quá xa lạ với tất cả chúng ta. Thời gian gần đây, Nguồn Mở thường xuyên được nhắc đến trên các phương tiện thông tin đại chúng, như một giải pháp tốt cho Chính Phủ điện tử, nhất là ở những nghèo và đang phát triển. Tất nhiên không phải ai cũng biết thế nào là Nguồn Mở. Thậm chí, có thể bạn đang sử dụng phần mềm nguồn mở mà không biết. Vậy Nguồn Mở là gì ? Nó có những lợi ích và ưu điểm gì so với phần mềm Nguồn Đóng và tại sao lại "mở" ?

Nói đến Nguồn Mở, chúng ta không thể nào không nhắc tới Richard Stallman. Năm 1983, ông đã khởi xướng dự án GNU, và vào năm 1984 thành lập ra tổ chức Phần mềm Tự với triết lý tự do cho phần mềm – phần mềm tự do (Free Software). Sau này cụm từ "phần mềm tự do" và "nguồn mở" (Open Source), ít hay nhiều, đều mô tả cùng chủng loại phần mềm, nhưng còn nói cả nhiều thứ khác về phần mềm và giá trị của nó. Cho tới nay, dự án GNU vẫn tiếp tục sử dụng khái niệm "phần mềm tự do" để biểu thị ý tưởng về TỰ DO, là điều quan trọng nhất, chứ không phải chỉ về công nghệ. Rất tiếc, từ TỰ DO này vẫn bị rất nhiều người hiểu lầm là miễn phí về giá (Free of charge). Vì vậy cũng cần nhắc lại định nghĩa về phần mềm tự do để chúng ta hiểu chính xác về nó.

Cần phân biệt rõ phần mềm Nguồn Mở và phầm mềm miễn phí :

- Phần mềm Nguồn Mở (OpenSource Software) tương đương với phần mềm Tự do (Free Software)

* Một chương trình là phần mềm tự do đối với một người sử dụng bình thường, nếu bạn có thể:
* Tự do chạy chương trình với bất cứ mục đích nào
* Tự do sửa đổi chương trình phù hợp với nhu cầu của bạn
* Tự do phân phối lại các bản sao, kể cả cho không hoặc có phí
* Tự do phân phối các bản đã được sửa đổi đối với các chương trình (để làm cho sự tự do này có hiệu lực trong thực tế, bạn buộc phải truy cập vào vào mã nguồn, vì việc làm thay đổi trong chương trình mà không có mã nguồn là cực kỳ khó khăn), sao cho cộng đồng có thể hưởng lợi từ việc cải tiến của bạn.
* Vì chữ "Free" ở đây là TỰ DO, không liên quan gì tới giá, nên không có mâu thuẫn gì giữa việc bán các bản sao và phần mềm tự do.


- Phần mềm nguồn mở thì đa số miễn phí, còn phần mềm miễn phí không hẳn đã là phần mềm nguồn mở.

* Phần mềm mã nguồn mở phải tuân thủ theo giấy phép GPL. Có 2 đặc điểm cơ bản cần hiểu rõ là :

- Tác giả gốc giữ bản quyền về phần mềm nhưng cho phép người dùng rất nhiều quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng như quyền khai thác thương mại sản phẩm.
Tác giả sử dụng luật bản quyền để bảo đảm các quyền đó không bao giờ bị vi phạm đối với tất cả mọi người, trên mọi phần mềm có sử dụng mã nguồn của mình.

- Đặc biệt điểm thứ 2 thường được gọi là hiệu ứng virus (viral effect)vì nó biến tất cả các phần mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế điều này có ý nghĩa: bất kỳ tác giả nào sử dụng dù chỉ 1 phần rất nhỏ mã nguồn GPL trong chương trình của mình cũng phải công bố chương trình đó dưới điều kiện GPL. Điều kiện này quy định ví dụ:

+ Mọi phần mềm GPL đều phải công bỗ mã nguồn của mình rộng rãi công khai và phải tạo điều kiện cho mọi người truy cập được mã nguồn ấy (ví dụ qua web hoặc qua việc bán CD giá rẻ)
+ Giữ nguyên mọi dòng chú thích về nguồn gốc tác giả, bản quyền của họ cũng như điều kiện được áp dụng đối với phần mềm (trong 1 file có tên LICENSE)
+ Cấm việc bán mã nguồn nhưng cho phép kinh doanh chương trình được tạo ra từ mã nguồn ấy hoặc là các dịch vụ hỗ trợ liên quan.

* Tại sao chúng ta lại dùng phần mềm mã nguồn mở :

- Gần như tất cả các chương trình ứng dụng phân phối theo điều kiện GPL có thể coi là miễn phí đối với người dùng (trong phần lớn các trường hợp để nhận được nó bạn chỉ phải trả tiền đĩa CD, DVD hoặc kết nối Internet). Theo một báo cáo gần đây từ Forrester Research, các công ty có thể tiết kiệm tới 25% chi phí duy trì cơ sở dữ liệu bằng cách chuyển sang sử dụng mã nguồn mở và ngoài ra là 25% chi phí phần cứng. Tiết lộ từ Nidiffer, lãnh đạo C&K Market cho hay, họ đã tiết kiệm được gần 20% chi phí so với trước đây khi chuyển qua sử dụng nền tảng cơ sở dữ liệu của Ingres.


- Vì là mã nguồn mở , nên bạn có thể xem trực tiếp mã nguồn của nó, có thể chỉnh sửa và phát triển phần mềm theo ý mình. Khi có một phần mềm hữu ích ra đời, nó sẽ được cộng đồng nguồn mỡ đón nhận và chung tay phát triển phần mềm đó. Nhờ vậy mà các phần mềm mã nguồn mở không ngừng phát triển về chất lượng và số lượng. Các hệ điều hành viết bằng mã nguồn mở là một minh chứng. Tiêu biểu là dự án Debian, phát triển bản phân phối Debian GNU/Linux được cộng đồng nguồn mở phát triển rất hiệu quả. Mỗi khi phát hiện ra lỗi nào đó của hệ điều hành, lỗi đó sẽ được thông báo và cả cộng đồng cùng sửa lỗi. Thường thì chỉ sau 24 giờ lỗi được sửa. Theo chuyên trang Wiki của Debian có tới hơn 15.400 nhà phát triển Debian, cùng vô số tình nguyện viên trên toàn thế giới cùng tham gia phát triển. Vì vậy các hệ điều hành mã nguồn mở có tính bảo mật rất cao. Chính vì thế phần mềm mã nguồn mở sử dụng được trí tuệ của cộng đồng -> nên tin học sẽ phát triển Smile

- Đối với SV, nhất là SV CNTT, việc tìm hiểu và nghiên cứu các phần mềm mã nguồn mở nói chung và Linux nói riêng đem lại cho sinh viên rất nhiều lợi ích :

* Bỏ qua những giá trị về kinh tế, việc tìm hiểu Linux trước hết đem lại cho chúng ta một cái hình rộng hơn về tin học. Bạn không còn chỉ bị bó buộc trong Windows và việc viết các phần mềm trong Windows. VD: Học Linux khiến bạn hiểu rõ hơn thế nào là Cấu trúc file : Trong Linux không dùng hệ thống định vị file FAT thường thấy trong Dos hay Win mà dùng ext3, ext4, ReierFS từ đó đó bạn hiểu thêm về cách tổ chức thông tin trên đĩa. Từ chỗ có một cái nhìn rộng hơn, bạn sẽ hiểu sâu hơn và ngay cả việc phát triển các ứng dụng trên Windows cũng sẽ có hiệu quả hơn.

* Linux và các phần mềm mã nguồn mở cung cấp cho bạn mã nguồn của chương trình. Rất nhiều trong số các chương trình này được viết bởi những lập trình viên nhiều kinh nghiệm và đã được cộng đồng mã nguồn mở trên toàn thế giới kiểm thử. Vì thế mã của các chương trình này chứa đựng một lượng khối kiến thức rất tinh túy hoàn toàn đáng để bạn có thể học hỏi. Mặt khác những tài liệu về các phần mềm mã nguồn mở thường rất sẵn, chi tiết và được cập nhật thường xuyên(có thể tham khảo www.tldp.org) . Không hề có những "bí mật công nghệ " trong các sản phẩm mã nguồn mở. Những thắc mắc của bạn cũng có thể được giải đáp nhanh chóng thông qua các forum của các nhóm phát triển mã nguồn mở.Vì vậy, theo tôi, đối với sinh viên ( nhất là sinh viên Việt Nam) học tập và nghiên cứu các phần mềm mã nguồn mở là một trong những cách tốt nhất để nâng cao kiến thức cho mình.


* Tuy nói là "mở" nhưng các Phần mềm Nguồn Mở đều phải tuân thủ theo giấy phép GPL. Với nội dung cơ bản sau :

1. Tự do tái phân phối : Bản quyền sẽ không giới hạn bất cứ ai khỏi việc bán hay đem cho phần mềm đó như là một thành phần của bản phần mềm tổng hợp mà có chứa các chương trình từ nhiều nguồn khác nhau. Bản quyền sẽ không đòi hỏi việc phải giữ nguyên trạng phần mềm hay các phí tổn khác cho những thương vụ như vậy.
2. Mã nguồn : Chương trình phải đi kèm mã nguồn, và phải cho phép phân phối cả mã nguồn cũng như dạng đã được biên dịch. Ở những nơi mà một số dạng sản phẩm không được phân phối cùng mã nguồn thì phải có các cách thức được phổ biến rộng rãi nhằm lấy được mã nguồn với chi phí không cao hơn chi phí tái sản xuất hợp lý–khuyến khích cho phép tải về một cách miễn phí qua Internet. Vì mục đích của mã nguồn mở là tạo điều kiện để việc phát triển được thuận lợi nên cộng đồng này cũng yêu cầu sự sửa đổi mã nguồn cũng phải được tạo điều kiện thực hiện. Do đó, mã nguồn phải để dạng được ưa chuộng mà theo đó một lập trình viên sẽ có thể tham gia sửa đổi chương trình được. Việc biến đổi mã nguồn thành một dạng mã gây rối một cách có chủ tâm là không được phép.
3. Các chương trình phát sinh : Bản quyền phải cho phép sửa đổi và các chương trình phát sinh từ đó, và phải cho phép chúng được phân phối dưới cùng các điều khoản như giấy phép của phần mềm gốc.
4. Tính toàn vẹn của mã nguồn cung cấp bởi Tác giả : Bản quyền có thể hạn chế không cho phép mã nguồn được phân phối ở dạng đã được sửa đổi chỉ nếu như bản quyền cho phép phân phối “các file vá” cùng mã nguồn nhằm mục đích sửa đổi chương trình ở thời gian tạo sản phẩm. Bản quyền phải cho phép một cách tường minh việc phân phối phần mềm được tạo ra từ mã nguồn được sửa đổi. Bản quyền có thể yêu cầu các sản phẩm phát sinh phải mang một cái tên hay một số hiệu phiên bản khác so với phần mềm gốc. Theo đó, bản quyền mã nguồn mở phải đảm bảo rằng mã nguồn sẽ tồn tại ở dạng dễ dàng lấy được, nhưng có thể yêu cầu rằng nó sẽ được phân phối với cơ sở mã nguồn nguyên gốc ban đầu kèm với các bản vá. Theo cách này, những thay đổi “không chính thức” có thể xuất hiện ở hình thức sẵn sàng để tiếp cận nhưng được phân biệt một cách dễ dàng với mã nguồn cơ sở.
5. Không có sự phân biệt đối xử giữa các cá nhân hay nhóm người : Bản quyền phải không được phân biệt đối xử với bất cứ cá nhân hay nhóm người nào. Một số quốc gia, trong đó có Hoa Kì, ban hành điều luật hạn chế xuất khẩu một số loại phần mềm nhất định. Một giấy phép tuân thủ định nghĩa Mã Nguồn Mở có thể cảnh báo cho người sử dụng giấy phép về những hạn chế có thể được áp dụng và nhắc nhở họ là họ có nghĩa vụ tuân thủ luật pháp; tuy nhiên, bản quyền đó không được tự đặt ra các giới hạn như vậy.
6. Không phân biệt đối xử với bất cứ một lĩnh vực công việc nào : Bản quyền phải không được cản trở bất cứ ai khỏi việc sử dụng chương trình trong một lĩnh vực công việc cụ thể. Ví dụ, nó không được cản trở không cho chương trình đó được dùng trong một doanh nghiệp, hay không được dùng cho việc nghiên cứu gien.
7. Việc phân phối bản quyền : Các quyền lợi đi kèm với chương trình phải áp dụng cho tất cả những ai mà chương trình đó được tái phân phối đến đồng thời không cần phải thực thi một thứ giấy phép phụ thêm nào do các bên đó quy định.
8. Giấy phép phải không được dành riêng cho một sản phẩm : Các quyền lợi đi cùng chương trình đó phải không được phụ thuộc vào việc chương trình phải là một bộ phận một bản phân phối phần mềm cụ thể khác. Nếu chương trình được tách ra từ bản phân phối đó và được sử dụng hay phân phối dưới các điều khoản của giấy phép kèm theo chương trình thì tất cả các bên mà chương trình được phân phối đến cũng nên có được các quyền lợi ngang bằng như những quyền lợi được đưa ra theo bản phân phối phần mềm gốc.
9. Bản quyền phải không được cản trở các phần mềm khác : Bản quyền phải không được áp đặt các giới hạn lên các phần mềm khác mà được phân phối kèm với phần mềm có bản quyền đó. Ví dụ, bản quyền không được chỉ dẫn nhất quyết rằng tất cả các phần mềm khác được phân phối trên cùng một phương tiện thì phải là phần mềm mã nguồn mở. Đúng là GPL tuân thủ theo yêu cầu này. Phần mềm liên kết với các thư viện phân phối dưới GPL chỉ kế thừa GPL nếu nó tạo nên một sản phẩm đơn nhất, chứ không phải là bất cứ phần mềm nào mà chúng chỉ được phân phối đi kèm theo.
10. Giấy phép phải trung dung về mặt công nghệ : Không cho phép tồn tại điều khoản nào của bản quyền khẳng định sự liên quan đến bất cứ một công nghệ riêng biệt hay một kiểu giao diện nào.

Dang Hong Phuc (PT1)

Tổng số bài gửi : 125
Join date : 19/09/2010

Về Đầu Trang Go down

mã nguồn mở là gì ? Empty Re: mã nguồn mở là gì ?

Bài gửi  Nguyen_xuan_tam0951010034 28/10/2010, 15:43

bây giờ mày đã biết mã nguồn mỡ là gì rồi đó phải không phúc!
mày hiểu mã nguồn mở cũng chi tiết thật! sunny
Nguyen_xuan_tam0951010034
Nguyen_xuan_tam0951010034

Tổng số bài gửi : 82
Join date : 24/09/2010
Age : 33
Đến từ : Tanh linh_Binh thuan

Về Đầu Trang Go down

mã nguồn mở là gì ? Empty Re: mã nguồn mở là gì ?

Bài gửi  Dang Hong Phuc (PT1) 29/10/2010, 09:01

Đọc thì đọc rồi nhưng cũng hiểu sơ sơ. Cũng không có gì ghê gớm lắm.

Dang Hong Phuc (PT1)

Tổng số bài gửi : 125
Join date : 19/09/2010

Về Đầu Trang Go down

mã nguồn mở là gì ? Empty Re: mã nguồn mở là gì ?

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết