Bài trình bày tại Trung tâm Phát triển Hạ tầng thuộc Sở Thông tin và Truyền thông Đà Nẵng tại khóa học 'Huấn luyện huấn luyện viên nguồn mở, ngày 1, 12/09/2016.
1. CHƯƠNG TRÌNH:
HUẤN LUYỆN HUẤN LUYỆN VIÊN NGUỒN MỞ
GIỚI THIỆU PHẦN MỀM TỰ DO
LÊ TRUNG NGHĨA
TRUNG TÂM NGHIÊN CỨU VÀ PHÁT TRIỂN QUỐC GIA VỀ CÔNG NGHỆ MỞ
BỘ KHOA HỌC & CÔNG NGHỆ
Email: letrungnghia.foss@gmail.com
Blogs: http://vnfoss.blogspot.com/
http://letrungnghia.mangvn.org/
Trang web CLB PMTDNM Việt Nam:
http://vfossa.vn/vi/
HanoiLUG wiki: http://wiki.hanoilug.org/
2. Nội dung
1. Giới thiệu
2. Phân tích SWOT về PMTDNM
3. Sơ lược lịch sử
4. Lập trình viên và động lực
5. PMTD và hành chính nhà nước (HCNN)
6. Kỹ thuật của PMTDNM
7. Môi trường phát triển
8. Chất lượng và các mô hình độ chín
9. Chuyển đổi phần mềm từ đóng sang mở
10. Các phong trào mở hiện nay
11. Tương lai của nguồn mở thế giới
3. Giới thiệu -1
Tôi có 1 quả táo, anh có 1 quả táo. Nếu chúng ta trao đổi cho nhau, thì cả tôi và anh
mỗi người vẫn chỉ có 1 quả táo. Tôi có 1 ý tưởng, anh có 1 ý tưởng. Nếu chúng ta trao
đổi cho nhau, thi cả tôi và anh mỗi người đều có 2 ý tưởng. - Bernard Shaw.
1. Khái niệm về sự tự do của phần mềm
- Định nghĩa phần mềm tự do (PMTD): người sử dụng (NSD) có 4 quyền cơ bản:
* Tự do chạy chương trình ở bất cứ đâu, vì bất kỳ mục đích gì và vĩnh viễn.
* Tự do nghiên cứu → truy cập mã nguồn.
* Tự do phân phối lại các bản sao → giúp được những người khác.
* Tự do cải tiến chương trình và phân phối những cải tiến đó → cần mã nguồn.
- PMTD là nói về các quyền tự do của NSD, không nói về TIỀN → dù để phát triển
(PT) và sử dụng nó cần tiền cho các dịch vụ (DV) liên quan.
- PM khác không phải PMTD: Freeware, Shareware,... → không có mã nguồn
2. Động lực: 2 động lực chính: (1) Đạo đức, văn hóa cao thủ (hacker) → tri thức phải
được chia sẻ tự do → Quỹ PMTD - FSF và (2) Thực dụng → ưu thế kỹ thuật và tài
chính → khái niệm phần mềm nguồn mở (PMNM) → sáng kiến nguồn mở OSI. Có
các động lực khác như (3) vì thú vui; (4) vì tiền → kinh doanh (KD) hướng bền vững.
4. 3. Hệ quả của sự tự do của PM: Mã nguồn sẵn sàng → bán giấy phép sử dụng = 0 →
mô hình (MH) KD DV → vừa hợp tác vừa cạnh tranh (co-opitition) để PM có chất
lượng tốt hơn → có lợi cho NSD các dạng khác nhau:
- NSD đầu cuối: không phụ thuộc vào nhà cung cấp (NCC) PM, dù cty nhỏ vẫn có
thể có mã nguồn và tri thức → KD và vẫn giữ PM là tự do → mô hình PT là khác.
Sự kiểm soát mã nguồn nằm không chỉ ở nhà sản xuất, mà còn ở NSD đầu cuối.
- Hành chính nhà nước: duy trì dữ liệu trong các định dạng mở → đảm bảo an ninh
và tính tương hợp → chuẩn mở được PMTD quan tâm.
- LTV ở các công ty: sự tự do làm thay đổi luật chơi → cty nhỏ vẫn cạnh tranh
được trong thị trường toàn cầu.
- Nhà tích hợp: PMTD là thiên đường → không cần sử dụng kỹ thuật nghịch đảo.
- NCC và duy trì DV: cơ hội của mọi NCC là như nhau. Giá trị gia tăng của các DV
được đánh giá cao vì giá thành PM là thấp → sự khác biệt + hiệu ứng mạng.
Giới thiệu -2
5. Phân tích SWOT về PMTDNM
Xem giải thích chi tiết hơn: “Các rào cản đối với việc ứng dụng
PMTDNM và các cách thức cộng tác để vượt qua”.
6. 1. Lịch sử phát triển của PMTD là lâu đời nhất, trước cả khái niệm về PMTD
- Những năm 60: phần cứng đi cùng PM, PM là tự do truy cập mã nguồn
- 30/09/69, IBM tuyên bố từ 1970 sẽ bán phần mềm riêng. PMSHĐQ ra đời.
- Những năm 70, đầu 80: PMSHĐQ áp đảo, vẫn có PMTD: Spice, TeX, Unix
- Unix: Bell Labs của AT&T năm 72, CSRG của đại học Berkeley – California
- Cuối những năm 80: AT&T đổi chính sách, hạn chế truy cập mã nguồn Unix, 1991
còn kiện đại học Berkeley về mã nguồn BSD của nhóm CSRG
2. Sự bắt đầu có định hướng của PMTD: GNU & BSD
- 1984, Richard Stallman, (1) dự án GNU – GNU không phải Unix (GNU is NOT
UNIX) – mục tiêu là một OS tự do → tích hợp nhiều PM vào OS như: trình biên dịch
GCC, trình soạn thảo Emacs, TeX, XWindow, … (2) đưa ra GPL (3) thành lập FSF.
- CSRG của Berkeley: (1) Từ 1973 là 1 trung tâm Unix, đặc biệt 79-80 nhưng phải có
giấy phép của AT&T và ngày một khó; (2) 06/1989 Phiên bản Net-1 (No AT&T code)
là Unix liên quan tới TCP/IP với giấy phép BSD; (3) 06/1991 Net-2 (No AT&T code)
→ tạo ra hầu như Unix tự do hoàn chỉnh; (4) 12/1991 386BSD ra đời, tiền thân của
FreeBSD, OpenBSD; (5) Vụ USL của AT&T kiện BSDI, Novell mua từ USL... →
PMTD là gốc của nền CNpPM và là gốc của Internet ngày nay!
Sơ lược lịch sử -1
7. Sơ lược lịch sử -2
3. Sự ra đời của Internet:
- Đầu những năm 70, Internet đã gắn liền với PMTD: (1) sửa lỗi, chia sẻ mã nguồn
trong cộng đồng (CgĐg) các LTV và NSD khi xây dựng Internet; (2) Những năm 80
Unix BSD là triển khai tuyệt đối của các thử nghiệm TCP/IP; (3) Quan hệ chặt chẽ
giữa 2 CgĐg LTV: xây Unix là CSRG và xây Internet là NSFNet; (4) Những năm 90
thì CgĐg PMTD là CgĐg đầu tiên khai thác sâu khả năng của Internet và xúc tác
để tạo ra các CgĐg BSD, FSF và GNU/Linux.
4. Sự ra đời của nhân (Kernel) GNU/Linux
- Tới năm 1990, hầu hết mọi thành phần của một OS tự do đã có, cả từ dự án GNU
cũng như từ các phát tán BSD, chỉ còn thiếu nhân tự do. Khi nhân ra đời sẽ mở
đường cho 2 dòng OS hoàn toàn tự do: BSD và GNU/Linux.
- 07/1991 Linus Torvalds công bố dự án nhân Linux, 09/1991 phiên bản 0.01;
03/1994 phiên bản 1.0 – nhân ổn định đầu tiên. Nhân Linux theo GPL. Kết hợp với
các phần mềm của dự án GNU tạo thành OS GNU/Linux như ta thấy ngày nay:
Debian, RedHat, Fedora, Ubuntu và SuSE...
8. Sơ lược lịch sử -3
5. Kết thúc những năm 90 – chủ yếu trên máy chủ, chuẩn bị cho máy trạm
- (1) Giữa những năm 90: môi trường hoàn chỉnh cho GNU/Linux, BSD; (2) hiện
tượng máy chủ Web Apache trên Internet; (3) 09/1998 đầu tư của Intel và
Netscape vào RedHat; (4) nhiều cty kinh doanh với mô hình nguồn mở: SuSE,
Mandriva...; (5) Ngoại trừ Microsoft → IBM, Sun, Oracle, Apple... chuyển các sản
phẩm của mình sang GNU/Linux; (6) Các môi trường đồ họa để bàn: KDE 1.0 –
07/1998, GNOME 1.0 – 02/1999; (7) OSI ra đời 1998, từ đây có thuật ngữ PMTD,
PMNM và PMTDNM.
6. Thập niên 2000
- (1) PMTD trên máy trạm: các OS Ubuntu, Fedora,... môi trường GNOME, KDE,
OpenOffice.org, Firefox, ...; (2) Các chính phủ quan tâm: gnuLinEx,...; (3) Hợp tác
giữa cty – cty; cty – CgĐg tình nguyện viên.
7. Thập niên 2010: năm 2010, đến Microsoft cũng bắt đầu đóng góp cho nhân Linux.
8. PMTDNM ngày nay - Xem ở cuối tài liệu này.
9. 1. Hiểu được LTV PMTD là ai, sẽ biết cách tác động vào đâu khi cần.
2. Tuổi trung bình 27; nhóm áp đảo là 21-24; hầu hết ở 23; 60% ở độ tuổi 20, 20% <20
và 20% >30 tuổi → ảnh hưởng to lớn tới từ các trường đại học!
3. Các LTV PMTD tự mô tả mình: kỹ sư phần mềm 33%; sinh viên 21%; LTV 11%, nhà
tư vấn 10%, giáo sư đại học 7%, marketing 1% → Giới đại học (sinh viên, giáo sư) +
công nghiệp (kỹ sư phần mềm + tư vấn)
4. 20% LTV tới từ các lĩnh vực không phải là CNTT. 20% sinh viên + 64% LTV được
trả tiền → đa số được trả tiền để viết PMTD.
5. Nhân Linux: 75% mã nguồn là do 100 công ty với 3000 LTV viết, 25% còn lại do
các tình nguyện viên hoặc không rõ nguồn gốc viết. (Thời điểm năm 2012 là khác).
6. Phân bố theo địa lý: Debian năm 2003: Mỹ 297, Đức 136, Anh 75, Úc 52, Pháp 51,
Canada 49, TBN 34, Nhật 33, Ý 31, Hà Lan 29, Thụy Điển 27.
7. Cống hiến theo giờ: <2 là 22.5%; 2-5 là 26.1%; 5-10 là 21%; 10-20 là 14.1%; 20-40
là 9.2%; >40 là 7.1% → 80% LTV PMTD làm việc trong thời gian rỗi.
8. Động lực: phát triển kỹ năng mới, học & chia sẻ kiến thức, làm việc cộng tác, chứ
không phải là tiền bạc và sự ích kỷ → liệu có đúng ở VN???
9. Uy tín lãnh đạo: sự thừa nhận của cộng đồng.
Lập trình viên và động lực
10. Nhà nước (NN) có vai trò đặc biệt quan trọng trong định hướng công nghệ (CN)
1. Ảnh hưởng của PMTD lên hành chính nhà nước: nhiều tài liệu nghiên cứu
- Ưu điểm: (1) phát triển nền công nghiệp (CNp) bản địa – cạnh tranh CCDV của
bất kỳ cty nào; (2) độc lập với các NCC, khác với PMSHĐQ; (3) mềm dẻo và thích
nghi với yêu cầu đặc thù – nhờ có mã nguồn; (4) áp dụng dễ dàng hơn các chuẩn
mở; (5) an ninh hệ thống & thông tin; (6) sẵn sàng cho lâu dài; (7) Ảnh hưởng vượt
ra khỏi nhà nước – ảnh hưởng tới xã hội, các cty và công dân.
- Nhược điểm: (1) thiếu hiểu biết và cam kết chính trị từ những người ra quyết định
– ưu điểm của PMTD không phải là giá thành mà là chiến lược! (2) cơ chế hợp
đồng kém cỏi – chỉ thuận cho việc mua PMSHĐQ; (3) Thiếu chiến lược triển khai –
hoặc coi là thứ rẻ tiền, hoặc bị cô lập...; (4) Thiếu PMTD trong một số phân khúc;
(5) Tính tương hợp với hệ thống đang có – nên sử dụng chuẩn mở: (6) chuyển đổi
dữ liệu – cần nỗ lực đặc biệt + tiền.
2. Hành động của NN: (1) mua PM/DV; (2) Khuyến khích sử dụng & mua sắm bằng
chính sách tài chính hoặc làm gương; (3) đầu tư cho R&D SP
- Thỏa mãn nhu cầu của NN: ví dụ vài SP ngôi sao: vài GNU/Linux, LibO/OOo, FF
- Khuyến khích xã hội thông tin (XHTT), thúc đẩy R&D
PMTD và hành chính nhà nước -1
11. 3. Ví dụ về một số sáng kiến pháp lý
- Dự luật Peru, 2001 và cuộc tranh luận với MS Peru của nghị sỹ Quốc hội Peru →
dựa trên các nguyên tắc của NN: (1) Công dân truy cập tự do tới thông tin của nhà
nước; (2) Các dữ liệu thông tin của NN phải là vĩnh cửu; (3) An ninh của nhà nước và
công dân phải được đảm bảo.
- Tới 2010: Một loạt các quốc gia như: Hà Lan (2004), Anh (2009), Đan Mạch (2009);
Malaysia (2004); Canada (2009); New Zealand (2003); Liên minh châu Âu (Chỉ dẫn
mua sắm công về PMNM – 2010; Chỉ dẫn thực tiễn cho việc sử dụng PMTD trong
khu vực nhà nước – 2010); Mỹ, 2009 với Chính phủ mở, nhấn mạnh tới các định
dạng (chuẩn) mở, nhiều nước khác
- Tháng 03/2010, nghiên cứu của Trung tâm Nghiên cứu Chiến lược & Quốc tế: Năm
2008 có 250 sáng kiến về chính sách PMTDNM toàn cầu; Năm 2010 tăng lên là 364
sáng kiến PMTDNM; Dự đoán năm 2012 là 500 sáng kiến. Việt Nam có 3 sáng kiến.
- Từ 2013 tới nay, do ảnh hưởng của vấn đề an toàn thông tin → sang PMTD:
* Chính phủ Anh: bắt buộc chuẩn mở từ 01/11/2013, bắt buộc ODF từ 22/07/2014
* CP Trung Quốc: tháng 05/2014: cấm Windows 8 lên PC chính phủ + Ubuntu riêng
* Chính phủ Ấn Độ: Từ 2015, các hệ thống điều hành điện tử: PMNM bắt buộc.
* Ủy ban châu Âu: Từ 2015, các hệ thống mới xây dựng ưu tiên PMTD.
* Xem thêm trong bài nói về các khía cạnh pháp lý của PMTDNM.
PMTD và hành chính nhà nước -2
12. Kỹ thuật của PMTDNM -1
Nhà thờ lớn → mã nguồn được phát triển
giữa các phát hành phiên bản không là truy
cập tự do, mà chỉ tới được một nhóm các LTV
có đặc quyền → mô hình phát triển PMSHĐQ.
Cái chợ → mã nguồn được phát triển
qua Internet → ai cũng truy cập được.
Ngược lên dòng trên (NLDT): mã lệnh
đóng góp của các LTV chuyển ngược
về dự án PMTD gốc → rất quan trọng!
Nguyên tắc:
- Phát hành sớm
- Phát hành thường xuyên
Tiểu luận: 'Nhà thờ lớn và cái chợ' của Eric S. Raymond, 1997
2 mô hình quản lý các dự án PMTD: (1) nhà độc tài nhân từ; (2) người tài lãnh đạo
13. Tuân thủ mô hình phát triển PMTD, không đóng mã nguồn → tạo rẽ nhánh
không cần thiết, gây hại cho đơn vị phát triển và các đơn vị sử dụng.
▲ Phát triển đúng mô
hình, có đóng góp ngược
lên dòng trên cho cây dự
án nguồn mở gốc ban đầu.
Phát triển rẽ nhánh, không
có đóng góp ngược lên
dòng trên cho cây dự án
nguồn mở gốc ban đầu. ►
Bán dịch vụ xung quanh phần mềm của chung cộng đồng
2012 - Phát triển nhân
- Nhân Linux: 226 công ty, hơn
1.300 lập trình viên cùng cộng tác
phát triển.
- Trung bình 70 ngày ra một phiên
bản nhân mới.
- Các trình điều khiển phần cứng
và thiết bị ngoại vi nằm trong
nhân Linux.
- Phiên bản nhân v3.2 xuất bản
ngày 04/01/2012 có hơn 15 triệu
dòng mã lệnh.
Kỹ thuật của PMTD -2
14. Môi trường phát triển
Nguồn: http://nvie.com/posts/a-successful-git-branching-model/
Git
15. Chất lượng và các mô hình độ chín
- Eric S. Raymond: 'Nhà thờ lớn và cái chợ' → bản thân
mô hình phát triển của PMTD đảm bảo chất lượng hơn so
với mô hình phát triển PM nguồn đóng.
- Phát hành sớm, phát hành thường xuyên.
- Luật Linus: 'Given enough eyeballs, all bugs are shallow'
(Nhiều con mắt soi vào thì lỗi sẽ cạn).
- Linus Torvalds: 'Talk is cheap. Show me the code' (Nói thì
ít giá trị, hãy cho xem mã nguồn).
◄ Nguồn: ở đây hoặc ở đây.
Cần thiết dựa vào các mô hình
độ chín để lựa chọn và đánh
giá chất lượng của PMTDNM.
Một số mô hình độ chín như:
OSMM, PoF (VFOSSA khuyến
cáo cho Bộ TTTT).
và nhiều mô hình khác nữa.
16. Tải về tài liệu dịch tiếng Việt tại:
https://www.dropbox.com/s/ne8e6iewg5e68gt/lf_lat2012_final-Vi-02022012.pdf?dl=0
Chuyển đổi phần mềm từ đóng → mở -1
17. Tải về tài liệu dịch tiếng Việt tại:
https://www.dropbox.com/s/m0qfd6w5gr7bofd/lf_pub_ipduediligence-Vi-25052014.pdf?dl=0
Chuyển đổi phần mềm từ đóng → mở -2
18. Các phong trào mở hiện nay
http://blogs.itpeoplecorp.com/2015/09/15/the-open-organization-igniting-passion-and-performance/
Xem thông tin tại: http://vnfoss.blogspot.com/2016/03/to-chuc-mo-quan-ly-lanh-ao-mo.html
Nguồn ảnh: https://en.wikipedia.org/wiki/File:Open_Science_-_Prinzipien.png
Xem thông tin tại: http://vnfoss.blogspot.com/2016/05/khoa-hoc-mo-open-science.html
và: http://vnfoss.blogspot.com/2014/06/giao-duc-mo-va-tai-nguyen-giay-phep-tu.html
19. Tương lai của nguồn mở thế giới -1
2016 - The future of Open Source
North Bridge & Blackduck: Tương lai của nguồn mở 2016; -15; -14; -13; -12;
20. 2016 - The future of Open Source
North Bridge & Blackduck: Tương lai của nguồn mở 2016; -15; -14; -13; -12;
Tương lai của nguồn mở thế giới -2
21. 2016 - The future of Open Source
North Bridge & Blackduck: Tương lai của nguồn mở 2016; -15; -14; -13; -12;
Tương lai của nguồn mở thế giới -3
22. Tài liệu tham khảo
1. Giới thiệu phần mềm tự do, FTA xuất bản, năm 2010.
2. Nhà thờ lớn và cái chợ, 27/05/1997, Eric S. Raymond.
3. Hiểu biết về mô hình phát triển nguồn mở. Quỹ Linux, 11/2011.
4. Ngược lên dòng trên. Quỹ Linux, 01/2012.
5. Hệ thống tư vấn PMNM của OSS Watch.
6. Các giấy phép khác nhau và bình luận về chúng.
7. Video: Hệ điều hành cách mạng - Revolution OS.
8. Video: Chiến tranh phần mềm - Software Wars.
9. North Bridge & Blackduck: Tương lai của nguồn mở 2016; -15; -14; -13; -12;
23. Cảm ơn!
Hỏi đáp
LÊ TRUNG NGHĨA
Email: letrungnghia.foss@gmail.com
Blogs: http://vnfoss.blogspot.com/
http://letrungnghia.mangvn.org/
Trang web CLB PMTDNM Việt Nam: http://vfossa.vn/vi/
HanoiLUG wiki: http://wiki.hanoilug.org/