29
www.dtvc.edu.vn/? tvhao 1 Thánh Đường và Chợ (Cathedral and Bazaar) Trình bày: Ths Trương Vĩnh Hảo TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP

Thánh Đường và Chợ (Cathedral and Bazaar)

  • Upload
    rehan

  • View
    56

  • Download
    7

Embed Size (px)

DESCRIPTION

Thánh Đường và Chợ (Cathedral and Bazaar). TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP. Trình bày: Ths Trương Vĩnh Hảo. Viết phần mềm như thế nào?. Cách suy ngh ĩ cổ điển: Xây thánh đường Cách viết phần mềm theo phương án Linux của Linus Torvald Xay chợ. Phương án nguồn mở đầu tiên. N ăm 1996 - PowerPoint PPT Presentation

Citation preview

Page 1: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

1

Thánh Đường và Chợ(Cathedral and Bazaar)

Trình bày: Ths Trương Vĩnh Hảo

TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP

Page 2: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

2

Viết phần mềm như thế nào?

• Cách suy nghĩ cổ điển:

– Xây thánh đường

• Cách viết phần mềm theo phương

án Linux của Linus Torvald

– Xay chợ

Page 3: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

3

Phương án nguồn mở đầu tiên

• Năm 1996

• Chester County InterLink (CCIL) cần

Post Office Protocol 3 (POP3)

• Phương án nguồn mở đầu tiên của

Eric Raymond

Page 4: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

4

Bài học đầu tiên

• “Every good work of software starts

by scratching a developer’s itch”

– Mỗi một sản phẩm phần mềm tốt bắt

đầu từ việc gãi vào chổ ngứa của

người lập trình viên

Page 5: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

5

Bài học thứ hai

• “Good programmers know what to write. Great ones know what to rewrite (and reuse)”– Người lập trình viên giỏi biết cách lập trình.

Người thành thạo biết cách nào để viết lại và dùng lại.

• Linus Torvalds dùng mã nguồn và sáng kiến của Minux cho Linux.

• Eric Raymond chọn Seung-Hong Oh’s fetchpop làm nền tản cho POP3

Page 6: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

6

Bài học thứ ba

• Raymond phát hiện popclient của

Carl Harris

• “Plan to throw one away; you will,

anyhow” (Fred Brooks. The Mythical

Man Month. Chapter 11)

– “Hãy chuẩn bị để vứt bỏ phương án

của minh; dầu sao đi nữa, bạn cũng sẽ

phải như vậy”

Page 7: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

7

Bài học thứ tư

• “If you have the right attitude,

interesting problems will find you”

– Nếu chúng ta có quan điểm đúng đắn,

những vấn đề lý thú sẽ tự tìm đến”

Page 8: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

8

Bài học thứ năm

• “When you lose interest in a program, your last duty to it is to hand it off to a competent successor.”– “Nếu bạn đã mất nguồn cảm hứng đối với một

phương án, bạn nên thực hiện nhiệm vụ cuối cùng của bạn là trao phương án này cho một người nối nghiệp kế tiếp có tài năng.”

Page 9: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

9

Bài học thứ sáu

• “Treating your users as co-developers is

your least-hassle route to rapid code

development and effective debugging”

– Đối xử với người dùng phương án của bạn

như người cùng lập trình với bạn. Đây là con

đường dễ dàng nhất đưa đến việc lập trình và

sửa lỗi mau lẹ.”

Page 10: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

10

Bài học thứ bảy

• “Release early, release often”

– Phát hành sớm, phát hành thường

Page 11: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

11

Bài học thứ tám (Luật Linus)

• “Given enough eyeballs, all bugs are

shallow”

– Mọi lỗi lầm phần mềm đều dễ tìm nếu

có nhiều cặp mắt ngó vào

• ~ Delphi effect

– Ý kiến của nhiều người sẽ đúng hơn ý

kiến cá nhân của một chuyên gia

Page 12: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

12

Brooks’s Law

• Sự phức tạp = N*(N-1)/2

– N: số người lập trinh vien

Page 13: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

13

Tìm lỗi

• Nguồn đóng– Tìm lỗi nhưng không có kiến thức về mã

nguồn

– Sự sai lệch trong truyền đạt giữa người lập trình và nhân viên bảo đảm chất lượng/người dùng

• Nguồn mở– Người tìm lỗi đọc mã nguồn khi phát hiện lỗi

– Người tim lỗi có khi cũng là người sửa lỗi

Page 14: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

14

Bài học thứ chín

• “Smart data structures and dumb

code works a lot better than the other

way around”

– Cấu trúc dữ kiện thông minh và mã

nguồn ngốc nghếch hơn là sự tương

phản.

Page 15: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

15

Bài học thứ mười

• “If you treat your beta-testers as if they’re

your most valuable resource, they will

respond by becoming your most valuable

resource”

– Nếu bạn coi những người sử dụng beta là tài

nguyên quí giá nhất của bạn, thì họ sẽ hồi báo

khi trở thành tài nguyên quí giá nhất.

Page 16: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

16

Bài học thứ mười một

• The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better”– Khi bạn không có sáng kiến, cách hay nhất là

hãy chấp nhận và tuyên dương những ý kiến hay của người dùng của bạn. Đôi khi, cách này còn tốt hơn là ý kiến của bạn.

Page 17: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

17

Bài học thứ mười hai

• “Often, the most striking and innovative

solutions come from realizing that your

concept of the problem was wrong”

– Nhiều khi, giải pháp tốt nhất là sự nhận thức

được con đường mình đi là sai

Page 18: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

18

Bài học thứ mười ba

• Antoine de Saint-Exupery:

“Perfection (in design) is achieved not

when there is nothing more to add, but

rather when there is nothing more to take

away”

– Sự hoàn mỹ chỉ đạt được không phải khi

không còn có gì để thêm vào, mà chỉ khi

không có gì để bỏ đi.

Page 19: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

19

Bài học thứ mười bốn

• “Any tool should be useful in the expected

way, but a truly great tool lends itself to

uses you never expect”

– Dụng cụ cũng nên hữu dụng trong công

chuyện của nó, chỉ có những dụng cụ phi

thường có thể được sử dụng một cách phi

thường.

Page 20: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

20

Bài học thứ mười lăm

• “When writing gateway software of any kind, take pains to disturb the data stream as little as possible – and never throw away information unless the recipient forces you to!”– Khi viết phần mềm cửa ngõ, cố gắng đừng

thay đổi dòng dữ kiện và đừng bỏ đi dữ kiện nào trừ phi người nhận bắt buộc.

Page 21: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

21

Bài học thứ mười sáu

• “When your language is nowhere near

Turing-complete, syntactic sugar can be

your friend”

– Khi ngôn ngữ của bạn chưa được hoàn chỉnh,

đường có thể là bạn của bạn

Page 22: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

22

Bài học thứ mười bảy

• A security system is only as secure as its

secret. Beware of pseudo-secrets.

– Một hệ thống an ninh chỉ thể giữ tính an ninh

khi chìa khóa của nó còn được giữ bí mật.

Hãy coi chừng những chìa khóa bán bi mật.

Page 23: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

23

Yếu tố cần thiết cho cách xây chợ

• Phương án phải tạo được sự thu hút– Người lanh đạo nhận rõ được ý kiến hay của

người khác– Người lãnh đạo nên linh hoạt trong việc xã

giao

• Người lãnh đạo không nên dùng quyền lực– Khuyến khich– Khen thưởng

• “Hồi ức của một nhà cách mạng” của Pyotr Alexeyvich Kropotkin

Page 24: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

24

Thời gian phôi thai

• Thiết kế nên đơn giản

– Thu hút nhiều người dù là với tay nghề còn trẻ

Page 25: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

25

Bài học thứ mười tám

• To solve an interesting problem, start

by finding a problem that is

interesting to you

– Muốn giải một vấn đề lý thú, hãy bắt

đầu tìm một vấn đề lý thú cho bạn

Page 26: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

26

Bài học thứ mười chín

• Provided the development coordinator has

a communication medium at least as good

as the Internet, and knows how to lead

without coercion, many heads are

inevitably better than one

– Cho dù người điều khiển có một phương tiện

thông tin tốt như Mạng Lưới, và biết lãnh đạo

dùng sự áp bức, nhiều cái đầu vẫn hơn một

cái đầu

Page 27: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

27

Reference

• Raymond, Eric (2005). Cathedral

and the Bazaar. Retrieved August

10th, 2005

Page 28: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

28

Trao đổi

• Điện thoại: 0918.513.142

• Email: [email protected]

Page 29: Thánh Đường và Chợ (Cathedral and Bazaar)

www.dtvc.edu.vn/?tvhao

29