Điều khoản sử dụng
Bạn được làm gì với những gì đọc ở đây, và tôi cam kết gì về chúng
Điều khoản này áp dụng cho website này — tuanem.com, blog, sách và mọi trang khác ở đây — và việc đọc nó có nghĩa là bạn chấp nhận chúng. Các ứng dụng di động của tôi có điều khoản sử dụng riêng, còn những gì website này ghi lại về bạn nằm trong chính sách bảo mật.
Đây là giữa những ai
Website này do một lập trình viên độc lập ở Hà Nội, Việt Nam viết và vận hành, có thể liên hệ tại admin@tuanem.com. Mọi phần bên dưới gọi người đó là tôivà gọi bạn, người đang đọc, là bạn.
Ở đây không có gì để đăng ký và không có gì để mua, nên điều khoản này ngắn hơn và ít hệ quả hơn so với bình thường. Phần lớn những gì tiếp theo nói về bản quyền và về giới hạn của những gì một bài viết kỹ thuật có thể cam kết.
Đọc thì không mất gì
Mọi trang ở đây đều đọc miễn phí, không cần tài khoản, không tường phí và không giới hạn số lượt, và tôi có ý định giữ nguyên như vậy. Quảng cáo là thứ trả tiền hosting, và nó được mô tả trong chính sách bảo mật. Không có gì bị che sau điều kiện phải cho quảng cáo tải: đọc với trình chặn bật thì tôi vẫn ổn.
Miễn phí để đọc không phải là lời cam kết rằng nó sẽ online mãi mãi. Tôi có thể sửa một bài viết, viết lại một chương, hoặc hạ một trang xuống, không cần báo trước và không lưu bản cũ. Nếu một bài ở đây quan trọng với bạn, hãy tự lưu một bản.
Bài viết là của tôi
Các bài viết, sách, thiết kế website và hình minh họa thuộc bản quyền của tôi, và ở đâu trang sách ghi tên đồng tác giả thì cũng thuộc về họ. Bản quyền tồn tại mặc định, nên đây không phải tin mới — nhưng cũng đáng nói rõ nó ngăn và không ngăn điều gì.
Không cần hỏi tôi, bạn được:
- Đọc, in ra, và giữ một bản cho riêng mình
- Trích một đoạn — một hai đoạn văn — trong bài viết của bạn, kèm tên tôi và một liên kết trở lại trang bạn lấy nó từ đó
- Liên kết đến bất kỳ trang nào ở đây, từ bất cứ đâu, kể cả trong một khóa học hay tại nơi làm việc
- Dùng nó để học, và dùng những gì đã học vào công việc của bạn, kể cả công việc được trả tiền. Ý tưởng không phải là thứ bản quyền bảo vệ, và truyền đạt chúng chính là mục đích của website này.
- Dịch một đoạn cho mục đích riêng hoặc để học
Xin hỏi tôi trước khi bạn:
- Đăng lại toàn bộ một bài viết hay một chương ở nơi khác, bằng bất kỳ ngôn ngữ nào, dù có ghi nguồn và dù miễn phí
- Bán nó, hoặc đưa nó sau tường phí hay vào trong một khóa học có phí
- Công bố bản dịch của cả một bài — tôi tự viết bằng hai ngôn ngữ và muốn tự dịch hoặc tự duyệt hơn
- Biến nó thành video, sách hay khóa học của bạn
Câu trả lời cho một lời đề nghị lịch sự thường là đồng ý. Hãy viết tới admin@tuanem.com và nói bạn muốn dùng gì, ở đâu.
Hai điều chắc chắn bị từ chối: nhận bài viết của tôi là của bạn, và đăng lại nó sau khi bóc hết nguồn lên một website tồn tại để cày lưu lượng tìm kiếm. Đưa những trang này cho một con bot để làm một trong hai việc đó không trở nên chấp nhận được chỉ vì có con bot ở giữa.
Các đoạn mã là của bạn để dùng
Phần văn và phần mã được đối xử khác nhau một cách có chủ đích. Mọi đoạn mã trên website này — trong một bài viết, trong một chương, ở bất cứ đâu — đều dành cho bạn theo giấy phép MIT. Cứ chép vào bất cứ thứ gì, thương mại hay không, sửa nó, phát hành nó. Không cần ghi nguồn và không cần xin phép.
Một đoạn mã ví dụ tồn tại để làm rõ một ý, và điều đó không giống với việc sẵn sàng cho môi trường thật: xử lý lỗi thường bị bỏ ra ngoài, tên biến được chọn để phục vụ lời giải thích, và những trường hợp biên mà chương trình của bạn có không phải là những trường hợp mà ví dụ có. Hãy đọc nó trước khi bạn phát hành nó. Mã tôi công bố trong một repository dưới tài khoản GitHub của tôi đi theo giấy phép mà repository đó ghi, và đó mới là thứ điều chỉnh nó.
Không bảo đảm, và điều đó thực sự nghĩa là gì
Website này là bài viết kỹ thuật của một lập trình viên, đưa ra nguyên trạng. Tôi rất cố gắng để chính xác — đó là toàn bộ sức hấp dẫn của việc viết về cách các thứ hoạt động bên dưới — nhưng tôi không bảo đảm rằng bất cứ gì ở đây là đúng, còn mới, hay phù hợp với thứ bạn đang xây.
Vài điều cụ thể, bởi "không bảo đảm" thì mơ hồ còn rủi ro thật thì không:
- Nó lạc hậu theo thời gian. Swift, SwiftUI, Rust và các SDK của Apple thay đổi mỗi năm. Một chương chính xác lúc viết có thể sai sau hai bản phát hành, và một bài viết có ghi ngày là một bức ảnh chụp thời điểm chứ không phải một tài liệu được bảo trì.
- Các con số hiệu năng phụ thuộc bối cảnh. Khi tôi nói cách này tốn ít hơn cách kia, đó là những gì tôi đo trên máy tôi, trên phiên bản đó, trong phép đo đó. Hãy tự đo trường hợp của bạn trước khi hành động theo.
- Không có gì ở đây là tư vấn chuyên môn — không pháp lý, không bảo mật, không tài chính. Các trang về bảo mật và giấy phép ở đây mô tả cách làm của riêng tôi; chúng không phải mẫu để bạn dùng cho mình.
- Bạn chịu trách nhiệm về những gì bạn phát hành.Hãy kiểm thử, review, và đừng đưa một đoạn mã từ blog vào thứ gì quan trọng khi chưa hiểu nó.
Trong phạm vi luật nơi bạn sống cho phép, tôi không chịu trách nhiệm cho tổn thất hay thiệt hại phát sinh từ việc bạn dùng website này hay bất cứ gì bạn lấy từ đây. Ở nơi luật của bạn không cho phép một giới hạn rộng như vậy, trách nhiệm của tôi được giới hạn ở mức thấp nhất mà luật cho phép. Không có gì ở đây giới hạn trách nhiệm đối với điều không thể giới hạn — gian lận, hoặc chết người hay thương tích do lỗi bất cẩn.
Quảng cáo và liên kết ra ngoài
Quảng cáo trên website này do Google chọn và phân phối, không phải tôi. Tôi không duyệt chúng và không thể bảo đảm cho những gì chúng quảng cáo; một quảng cáo xuất hiện ở đây không phải là một lời giới thiệu, và tranh chấp với một nhà quảng cáo là giữa bạn và họ. Nếu một quảng cáo ở đây thực sự gây xúc phạm hoặc trông như lừa đảo, hãy nói với tôi và tôi sẽ chặn nó.
Điều tương tự áp dụng cho các liên kết trong bài: chúng trỏ tới website của người khác, thứ tôi không kiểm soát và không chịu trách nhiệm. Ở đâu tôi giới thiệu một công cụ hay một cuốn sách, đó là vì tôi dùng nó — tôi không nhận tiền để nhắc đến, và không có liên kết tiếp thị liên kết nào trên website này. Nếu điều đó có bao giờ thay đổi, trang chứa nó sẽ nói rõ.
Việc sử dụng bản thân website
Đây là một website tĩnh chẳng có gì để lạm dụng, nên danh sách này ngắn. Đừng tìm cách xâm nhập hay làm gián đoạn hosting, đừng dội lưu lượng tự động đủ nặng để làm nó chậm đi với người khác, và đừng nhân bản toàn bộ nó. Việc thu thập dữ liệu một cách lịch sự — một cỗ máy tìm kiếm, một trình đọc feed, một bản lưu cá nhân — thì luôn được hoan nghênh.
Thay đổi điều khoản
Khi điều khoản này thay đổi, tôi cập nhật trang này và ngày ở dưới, và việc bạn tiếp tục đọc website sau đó là cách bạn chấp nhận bản mới. Tôi không lưu lịch sử thay đổi từng lần sửa, nên nếu câu chữ chính xác quan trọng với bạn, hãy giữ một bản của phiên bản bạn đã dựa vào.
Luật nào áp dụng
Điều khoản này được điều chỉnh bởi pháp luật Việt Nam, nơi tôi sống và nơi website được vận hành, và tòa án Hà Nội là nơi một tranh chấp sẽ được xét xử. Nếu bạn là người tiêu dùng ở một nơi mà luật cho bạn những quyền không thể bị ký bỏ, bạn giữ nguyên chúng — điều khoản này không phải một nỗ lực lấy chúng khỏi bạn.
Nếu một điều khoản ở đây hóa ra không thể thi hành, phần còn lại vẫn có hiệu lực. Hãy viết tới admin@tuanem.com trước khi bất cứ điều gì đến tòa; trong toàn bộ lịch sử website này, mọi vấn đề đều là một sự hiểu nhầm được giải quyết qua email.