Đạo đức trong phát triển phần mềm

Đạo đức (và luật pháp) trong phát triển phần mềm thường ít khi được đề cập tới trong các chương trình giảng dạy, tuy nhiên với vai trò càng ngày càng lớn của CNTT trong cuộc sống thì khó mà bỏ qua vai trò của nó.

Vì sao đạo đức trong phát triển phần mềm lại quan trọng

Nếu bạn là một độc giả của truyện khoa học viễn tưởng, hẳn bạn rất quen với 3 điều luật dành cho Robot của Asimov:

  1. Robot không được làm hại con người
  2. Robot phải tuân lệnh của con người, trừ phi nó trái với điều trên
  3. Robot phải bảo vệ sự tồn tại của chính mình, trừ phi nó trái với 2 điều trên

Nghĩ thì đơn giản và hiển nhiên, nhưng hãy thử tưởng tượng nếu bạn xáo trộn thứ tự của 3 điều trên một tí:

Nguồn: XKCD. Law #4: There’s always a relevant XKCD

Hậu quả đều rất nghiêm trọng, đúng không? Và đó là giả sử người viết phần mềm cho robot đã tuân theo chặt chẽ 3 điều luật nói trên.

Asimov gọi 3 điều trên là “luật” trong thế giới của mình. Đó là một thế giới lý tưởng! Còn trên thế giới thực tại 3 điều trên chưa phải là luật ở bất kỳ đâu. Con người vẫn có thể tạo ra robot vi phạm 3 điều luật trên, dẫn đến việc Terminator xuất hiện chỉ là vấn đề thời gian…

Có những vấn đề nào trong đạo đức phát triển phần mềm

Khác với “luật”, là những quy tắc đạo đức bắt buộc phải tuân theo, “đạo đức” là những quy tắc được đúc kết và được nhiều người đồng ý là đúng, nhưng vì lý do hành chính, mâu thuẫn về lợi ích, chi phí… chưa được đúc kết thành luật. Thông thường để trở thành luật, một quy chuẩn đạo đức nào đó luôn phải được đánh đổi bằng sinh mạng con người, như việc bắt buộc đeo dây an toàn khi lái xe hoặc cấm uống rượu và lái xe.

Phần mềm làm tổn hại đến sinh mạng con người

phần mềm độc, thiếu đạo đức gây ảnh hưởng đến hoạt động của bệnh viện

Phần mềm giết người? Khoan hãy nói đến terminator. 5 ngày trước (17/09/2020), một bệnh nhân ở Đức đã qua đời vì bệnh viện gần nhất bị dính ransomware. Mục đích của người viết ransomware không phải là giết người, nhưng đó là một hiệu ứng phụ của việc họ muốn kiếm tiền gây ra.

Người viết phần mềm gây ra vụ việc trên có khi không biết mình đã gián tiếp làm ảnh hưởng đến tính mạng của người khác. Họ chỉ nghĩ mình viết phần mềm và bán cho người khác dùng làm gì là việc của họ, họ không có trách nhiệm.

Phần mềm làm tổn hại đến tài chính con người

Ransomware như đã đề cập ở trên đang là một vấn đề rất đau đầu cho nhiều doanh nghiệp trên thế giới. Nó không những gây tổn thất tài chính do phải trả tiền chuộc dữ liệu mà còn gây ra thiệt hại về giảm sút doanh thu, doanh nghiệp suy yếu dẫn đến buộc phải sa thải nhân viên.

Phishing cũng có chiều hướng tăng cao, các đối tượng tội phạm tạo ra các website giả dạng website chính thức để ăn cắp dữ liệu, tiền bạc của người dụng.

Khi người kỹ sư viết ra phần mềm độc hại phục vụ cho các mục đích trên, họ có thể tự biện minh mình không phải là người trực tiếp gây ra thiệt hại cho người khác, nhưng điều đó là không đúng. Khi có ít người sẵn sàng tiếp tay cho tội phạm làm những việc trên, rào cản đối với các tổ chức tội phạm để triển khai lừa đảo sẽ cao hơn rất nhiều.

Quyền tác giả trong việc làm phần mềm

Bạn là người viết ra phần mềm, nhưng ai mới là người có quyền lợi với những gì bạn làm ra? Bạn có thể sử dụng những gì mình viết vào mục đích riêng được không? Bạn thấy đã có nhiều tấm gương thành công của người khác bằng cách làm side project và phát triển rộng lên nên cũng muốn làm như thế? Ranh giới giữa việc riêng và việc tư đối với một kỹ sư phần mềm khá là lu mờ.

Luật ở Hàn Quốc

Pháp luật Hàn Quốc quy định mọi sản phẩm và sáng chế bạn tạo ra khi làm việc trong một công ty là của công ty ấy. Ngoài ra theo luật cạnh tranh, nếu bạn hoạt động kinh doanh trong cùng lĩnh vực với công ty hiện tại mà chưa được sự đồng ý của công ty ấy cũng là vi phâm pháp luật.

Do đó, để tránh rắc rối về pháp lý bạn không nên tự ý sao chép nội dung công việc, cũng như tận dụng lại những gì mình đã viết ở nơi khác mà không được sự đồng ý nếu như bạn làm trong công ty tại Hàn.

Luật ở Việt Nam

Việt Nam đã có luật về vấn đề này!

Theo luật Sở hữu trí tuệ năm 2013 thì:

Điều 39. Chủ sở hữu quyền tác giả là tổ chức, cá nhân giao nhiệm vụ cho tác giả hoặc giao kết hợp đồng với tác giả

1. Tổ chức giao nhiệm vụ sáng tạo tác phẩm cho tác giả là người thuộc tổ chức mình là chủ sở hữu các quyền quy định tại Điều 20 và khoản 3 Điều 19 của Luật này, trừ trường hợp có thoả thuận khác.

2. Tổ chức, cá nhân giao kết hợp đồng với tác giả sáng tạo ra tác phẩm là chủ sở hữu các quyền quy định tại Điều 20 và khoản 3 Điều 19 của Luật này, trừ trường hợp có thoả thuận khác.

Theo đó, bạn là người làm ra phần mềm cho công ty do đó bạn là tác giả. Công ty là người giao kết hợp đồng, giao cho bạn làm phần mềm. Như vậy, phần mềm thuộc sở hữu của công ty hay nói công ty của bạn mới là chủ sở hữu của phần mềm.

Đạo đức trong phát triển phần mềm

Việc đề ra luật cũng giống như lập trình (có thể xem là một dạng meta-programming cho xã hội). Ý người làm luật khi viết ra luật là một đằng nhưng khi thực thi, có thể vì sai một câu chữ trong luật mà luật sẽ bị lách hoặc bị hiểu sai lệch đi, giống như 3 điều luật của Asimov.

Thế nên những điều sau không phải là luật, mà chỉ là những thứ bạn nên để tâm một tí khi làm phần mềm.

  1. Làm phần mềm phải có tâm, đừng để có bug nghiêm trọng trong khả năng của mình
  2. Làm phần mềm phải có tầm, thứ gì sai trái thì không nên làm
  3. Làm phần mềm cho người khác thì không nên cướp về làm của mình. Nếu bạn có ý tưởng mà mình cho là hay thì cần chủ động ra lập nghiệp và phát triển nó thay vì làm cho người khác.

One Reply to “Đạo đức trong phát triển phần mềm”

  1. […] sư phần mềm có thể được xem như các anh nông dân 4.0: hiền lành, chất phác, không sỡ hữu công cụ sản xuất, chỉ muốn được yên thân ngồi một góc để làm […]

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.