Chương 2 / 10 ◆ ~12 phút đọc

Chương 2: Git không phải tòa án

Sáng hôm sau, Vũ Hạnh đến phòng trọ với máy quét cầm tay và hai tập giấy ghi chú màu. Khánh dọn một khoảng trên bàn, đẩy chiếc ThinkPad về phía cô. Lịch sử mã nguồn anh định cho cô xem đã mở sẵn.

Hạnh chưa nhìn màn hình.

“Hợp đồng lao động ở đâu?”

Khánh lấy tập giấy trong ngăn bàn. Theo yêu cầu của cô, anh đặt thêm phụ lục nghiên cứu và phát triển, thỏa thuận bảo mật, bản mô tả công việc cùng những thư giao nhiệm vụ anh được quyền lưu trong tài khoản cá nhân. Chồng giấy khiến khoảng trống vừa dọn nhanh chóng chật lại.

“Đọc những thứ này trước,” Hạnh nói. “Mình cần biết hai bên đã thỏa thuận gì rồi mới xem mã nguồn.”

Khánh ngồi xuống đối diện. Bản hợp đồng ký bốn năm trước ghi công việc của anh là nghiên cứu âm học sinh học, tối ưu môi trường nhà yến và phát triển công cụ hỗ trợ vận hành. Ngày đặt bút ký, anh đã chú ý nhiều hơn đến những việc mình sắp được làm. Sáng nay, mắt anh dừng rất lâu ở phụ lục sở hữu trí tuệ.

Sản phẩm được tạo trong phạm vi nhiệm vụ được giao và sử dụng nguồn lực công ty thuộc Đại Nam. Câu chữ khá rộng. Phần công cụ Khánh đã phát triển từ trước khi vào làm lại không được liệt kê, cũng không có phụ lục riêng xác nhận những tài sản ấy.

Hạnh khoanh điều khoản, ghi bên cạnh câu hỏi về các tài sản có trước.

“Đây là phần sẽ mất công.”

Khánh kéo máy tính lại gần. Lần này, thay vì chỉ vào một bản cập nhật sớm nhất, anh mở từng phiên bản để cùng Hạnh dựng lại trình tự.

Bộ phân loại tiếng kêu 0.1 được ghi vào kho mã sáu tháng trước ngày ký hợp đồng với Đại Nam. Cùng thời gian ấy còn có tệp ghi chép phân tích, một bộ dữ liệu nhỏ và bài thuyết trình Khánh từng trình bày tại hội thảo của trường đại học. Hạnh đặt các tài liệu cạnh nhau, ghi nguồn của từng thứ. Đây là nhóm có ranh giới dễ nhận ra nhất.

Đến phiên bản 0.3, bàn tay Khánh chậm lại trên bàn phím. Bản ấy xuất hiện hai tháng sau khi anh vào công ty. Kiến trúc chương trình vẫn dựa trên phần cũ, nhưng dữ liệu bổ sung để huấn luyện được thu ở hai nhà yến do Đại Nam thuê. Anh đã mang micro của công ty đi ghi âm.

“Phần này tôi cũng tự viết,” Khánh nói.

“Tôi không phủ nhận người viết. Nhưng khi sử dụng tiếp, mình phải xác định cả quyền đối với dữ liệu và phần phát triển trong công việc.”

Anh nhìn những tên tệp quen thuộc. Mỗi cái tên đều gợi lại một lần thử, một đêm ngồi sửa lỗi, nên việc phải phân chúng sang những nhóm quyền khác nhau khiến anh có cảm giác đang để ai đó lấy bớt công sức của mình. Hạnh không thúc. Cô chờ anh tự mở phiên bản tiếp theo.

Bản 1.0 tích hợp điều khiển âm thanh và độ ẩm vào bảng điều khiển nội bộ. Khánh viết nó sau khi Hùng giao nhiệm vụ và duyệt ngân sách thiết bị. Hạnh dán một mảnh giấy đỏ bên dòng mô tả.

“Đừng tuyên bố phần này thuộc riêng cậu chỉ vì cậu viết mã.”

Khánh gật đầu. Anh vẫn quen gọi mọi thứ là “thuật toán của tôi”, như một cách nói về nghề nghiệp. Trong hồ sơ trước mặt, quyền tác giả, bí mật kinh doanh, quyền khai thác theo hợp đồng và kiến thức của người làm nghề lại cần được xem thành những lớp riêng.

Hạnh đặt bút xuống.

“Cuối cùng cậu muốn giữ điều gì?”

Khánh nhìn chiếc máy tính một lúc rồi trả lời:

“Tôi không cần lấy bảng điều khiển của Đại Nam. Tôi muốn tiếp tục dùng những mô hình, phương pháp đã có trước khi vào đó. Và tôi muốn họ thôi nói tôi đánh cắp mọi thứ.”

“Vậy mình tập trung xác định phần có trước, phần cùng phát triển và phần phải để lại cho công ty.”

Câu trả lời ấy khiến buổi làm việc có hướng rõ hơn. Họ kiểm những bản cập nhật có chữ ký số PGP, ghi nhận chúng nối mã nguồn với một khóa do Khánh kiểm soát. Hạnh vẫn yêu cầu tài liệu bên ngoài kho mã. Khánh tìm những thư đã gửi người hướng dẫn trước khi vào Đại Nam, các trang trình chiếu ở hội thảo, bản sao lưu có thông tin ngày tháng, hóa đơn mua thiết bị cá nhân và hồ sơ đăng ký nghiên cứu. Anh đọc lại cả những tin nhắn trao đổi về nguyên mẫu đầu tiên.

Một tài liệu có thể thiếu thông tin, một ngày ghi trong tệp có thể cần đối chiếu. Khi các nguồn được đặt cạnh nhau, họ mới nhìn thấy được quá trình hình thành từng phần. Hạnh ghi cả chỗ chưa khớp, không chỉ những dòng thuận lợi cho Khánh.

Anh cũng phải đưa ra những việc khiến ranh giới khó phân hơn. Có lần anh gửi nguyên mẫu từ thư cá nhân sang thư công ty, rồi tiếp tục phát triển trên chiếc Dell. Có phần mã có trước được đưa vào dự án mà không ghi rõ trong phụ lục. Trước đây, anh thấy việc đó thuận tiện cho cả nhóm. Giờ muốn giải thích, anh phải lần lại từ đầu.

“Bên kia sẽ nhắc những chuyện này,” Hạnh nói. “Họ có thể cho rằng cậu đã đưa các phần ấy vào dự án. Mình cần đối chiếu đầy đủ, không bỏ qua vì chúng bất lợi.”

Khánh đánh dấu các mục phải tìm thêm căn cứ. Việc nhìn nhận sai sót của mình không dễ chịu, nhưng ít ra cô không bắt anh chọn giữa hai câu cực đoan: mọi thứ của anh, hoặc mọi thứ của Đại Nam.

Buổi trưa, thư của Mỹ Lệ đến. Cô gửi danh sách những tệp công ty yêu cầu xóa khỏi thiết bị cá nhân. Khánh nhận ra vài tên giống các nguyên mẫu cũ, bấm mở danh sách rồi quay ngay sang Hạnh.

“Nếu họ chỉ nhìn tên thì có thể lẫn phiên bản.”

“Vì vậy đừng xóa vội.”

Hạnh trả lời theo hướng xác minh từng tệp, đề nghị Đại Nam cung cấp mã băm và mô tả nguồn hình thành để đối chiếu đúng nội dung. Một tên giống nhau chưa đủ để biết đó là cùng tài liệu. Hai giờ sau, pháp chế phản hồi sẽ gửi danh sách chi tiết.

Khánh đọc lá thư mới. Những câu đe dọa đã bớt đi; thay vào đó là các thông tin còn phải cung cấp. Tranh chấp chưa giải quyết được gì lớn, nhưng ít nhất anh đã biết câu hỏi tiếp theo mình cần trả lời.

Họ quay về những cuốn sổ thực địa. Các trang ghi nhiệt độ, độ ẩm, thời gian đàn hoạt động và phản ứng với từng mẫu âm thanh được mở lần lượt. Có trang từ lúc Khánh còn cộng tác với nhóm nghiên cứu đại học; có trang rõ ràng ghi dữ liệu ở nhà yến Đại Nam. Anh tách chúng vào hai hộp để quét và lưu riêng. Thỉnh thoảng gặp một trang thiếu ghi nguồn rõ ràng, anh để lại cho phần cần xác minh, dù nhớ mình đã đứng ở đâu khi viết nó.

Đến chiều, Hạnh đặt lên bàn bảng phân loại bốn cột: tài sản có trước khi vào Đại Nam; tài sản của Đại Nam; phần có khả năng đồng phát triển; kiến thức và kỹ năng chung.

“Dự án mới có thể xây từ cột một và cột bốn. Với cột ba, nếu muốn dùng thì phải làm rõ việc cấp phép. Cột hai cậu không mang sang.”

Khánh nhìn bảng rất lâu. Vẫn còn nhiều ô chưa điền được, nhưng anh đã nhìn ra phần công việc có thể tiếp tục mà không phải chờ thắng hết mọi tranh chấp.

Anh chợt nhớ những tin nhắn trên đường về hôm qua.

“Còn chuyện họ nói tôi phá hoại hệ sinh thái?”

“Cậu có tài liệu gì liên quan?”

Khánh đưa các báo cáo theo dõi quần thể, biên bản đề xuất giảm thời lượng loa ở một số điểm và thư phản đối việc tăng âm lượng gần khu nhạy cảm. Anh nhớ những cuộc tranh cãi với Hùng, nhớ mình đã cố giải thích vì sao không thể cứ tăng loa để đạt kỳ vọng vận hành. Nhưng trong các tài liệu đang có, không có biên bản nào xác định anh phá hoại.

Hạnh đọc rồi yêu cầu anh bám vào sự kiện có thể đối chiếu. Khánh soạn thư đề nghị Đại Nam nêu rõ ngày, địa điểm, hành vi và thiệt hại mà họ gán cho anh. Anh đính kèm biên bản chấm dứt đã ghi ý kiến phản đối. Những câu muốn kể về Hùng, về sự im lặng ngoài cảng, anh để ngoài lá thư.

Khi Hạnh ra về, trên bàn còn danh sách việc cần làm: chuẩn bị đăng ký quyền tác giả cho phiên bản có đủ căn cứ về nguồn trước công ty; lưu chứng cứ thời điểm công bố; lập quy trình phát triển độc lập nếu viết phiên bản mới. Dữ liệu Đại Nam không được dùng, và cũng không được tìm người đang bị ràng buộc bảo mật để lấy bí mật công ty.

Khánh đọc lại dòng về quy trình phát triển độc lập. Anh nhắn hỏi có thể bắt đầu ở ngay phòng trọ này không.

“Được,” Hạnh trả lời. “Điều cần tách là nguồn dữ liệu và cách phát triển. Không phải tìm một căn phòng khác.”

Khánh bật cười, lần đầu trong ngày. Rồi anh mở kho mã mới.

Con trỏ nhấp nháy trước một trang trống. Thói quen khiến anh muốn viết ngay một đoạn xử lý tín hiệu quen tay, nhưng anh dừng lại, tạo tệp giới thiệu dự án trước. Phạm vi được ghi rõ: xây bộ công cụ theo dõi nhà yến bằng dữ liệu mới, không sao chép những thành phần thuộc hệ thống nội bộ Đại Nam; chỉ sử dụng lại những thành phần có trước đã được luật sư rà soát. Anh thêm mục công việc thu bộ dữ liệu mới và ghi nguồn ngay từ đầu.

Đêm xuống, kho mã cũ vẫn mở ở cửa sổ bên cạnh. Các nhánh phát triển từng làm anh tự hào giờ giống một bản đồ cần chú giải lại. Dấu thời gian giúp anh biết mã đã xuất hiện khi nào; nó không ghi thay chuyện ai trả chi phí, dữ liệu lấy ở đâu hay quyền sử dụng đã được thỏa thuận ra sao.

Khánh lưu tệp đầu tiên. Chưa có dòng phần mềm mới nào được viết, nhưng anh không thấy buổi tối trôi phí. Lần này, trước khi bắt đầu, anh đã dành chỗ cho những thông tin từng bị mình bỏ qua.

Gần cuối ngày, một số lạ gọi đến. Người phụ nữ giới thiệu là Lê Cát Tường, phụ trách mảng thực phẩm dinh dưỡng của Hoàn Cầu. Cô đã đọc một bài nghiên cứu của anh và muốn trao đổi về hệ thống truy xuất nguồn yến.

Khánh ngồi thẳng lại. Từ sáng đến giờ, mọi cuộc trao đổi đều xoay quanh thứ anh phải chứng minh hoặc trả lại. Một người hỏi về công việc mới khiến anh vừa chú ý vừa cảnh giác.

“Cô muốn mua thuật toán của Đại Nam từ tôi à?”

“Nếu thuộc Đại Nam, tôi không mua từ anh,” Cát Tường đáp. “Tôi muốn biết anh có thể xây một dự án thử nghiệm độc lập từ đầu không.”

Khánh nhìn bảng bốn cột Hạnh để lại. Anh vẫn chưa thể trả lời mọi câu hỏi trên đó, nhưng câu vừa được đặt ra đã có một lối đi.

“Có thể,” anh nói. “Nhưng trước khi bàn tiền, cô cần xem phần nào tôi được quyền sử dụng.”

Đã đọc xong

Chương 2 / 10

Câu chuyện vẫn còn phía trước.

Đọc chương tiếp
Home Trước Sau
Đọc tiếp chỗ đang dở? Bạn đã đọc một phần chương này.
Cài đặt Đọc truyện
Cỡ chữ
Giãn dòng
Độ rộng trang đọc
Kiểu Chữ
Phông Nền
💬 Bình luận đoạn
Đang tải bình luận...