Chương 4: EduPro Không Tự Sụp Vì Một Người Rời Đi
EduPro không sụp đổ vì Nguyễn Minh Kiệt “không biết làm sản phẩm”. Thực tế, Kiệt tuyển được người: hai kỹ sư backend, một lập trình viên di động, một quản lý sản phẩm và một nhà thiết kế. Vài tháng sau, app ra mắt với giao diện mới và một số tính năng khác LearnVN. Nó có người dùng thật, và một số người thích nó.
Đó là phần Khải khó chấp nhận nhất. Anh từng nói với bạn bè rằng Kiệt chỉ biết vận hành hệ thống, không có anh thì app sẽ chết. Không phải vậy. Một công ty có thể thuê người khác, và một sản phẩm không phụ thuộc vào một thiên tài duy nhất. Tranh chấp thật sự nằm ở quyền và niềm tin.
Công ty LearnVN gửi yêu cầu pháp lý liên quan đến mã nguồn, tài sản mật và dữ liệu người dùng. EduPro trả lời qua luật sư: họ thừa nhận Kiệt đã mang theo một bản lưu trữ kho mã khi còn quyền truy cập, nhưng lập luận rằng một số thành phần có đóng góp từ trước khi thành lập công ty và chưa từng được chuyển giao rõ ràng. Họ phủ nhận việc sử dụng toàn bộ cơ sở dữ liệu người dùng.
Quá trình giám định dần làm rõ chuyện dữ liệu. Một phần dữ liệu thật đã được tải về thiết bị của Kiệt, và có bằng chứng một phần trong số đó đã được dùng ở môi trường thử nghiệm của EduPro trước khi luật sư yêu cầu dừng, cô lập và xóa. Nhưng không có bằng chứng nào ủng hộ câu chuyện “bán mười triệu người dùng cho bên quảng cáo”.
Khải rất muốn đăng lên mạng: “Họ dùng dữ liệu người dùng của chúng tôi.” Minh Anh ngăn lại. “Công ty sẽ thông tin theo quy trình, theo nghĩa vụ về quyền riêng tư và theo sự thật đã xác minh. Em không biến một cuộc điều tra đang dang dở thành một dòng trạng thái.”
LearnVN cùng các chuyên gia tư vấn đánh giá nghĩa vụ thông báo và báo cáo với cơ quan quản lý, rồi thực hiện những bước cần thiết theo phạm vi đã xác định. Thông báo gửi người dùng nêu rõ một tài khoản đặc quyền cũ đã xuất trái phép một tập dữ liệu giới hạn trong giai đoạn rời công ty, mô tả cụ thể loại dữ liệu bị ảnh hưởng, khẳng định không phát hiện dữ liệu thẻ trong tập đó, quyền truy cập đã bị chặn, các khóa đã được thay, còn điều tra và khắc phục vẫn đang tiếp tục. Thông báo không nói “không có rủi ro nào”, cũng không nói toàn bộ người dùng đã bị đem đi trao đổi hay kinh doanh khi chưa có bằng chứng như vậy.
EduPro buộc phải xử lý số dữ liệu đã mang sang theo quy trình pháp lý. Họ cô lập và xóa những bản sao không có quyền sử dụng, lập biên bản về việc xóa và lưu giữ khi được yêu cầu, rồi xây lại tập dữ liệu phân tích từ chính người dùng EduPro. Việc này làm tốc độ tăng trưởng chậm lại, nhưng không giết công ty ngay.
Tranh chấp về mã nguồn còn phức tạp hơn. Các chuyên gia độc lập so sánh hai kho mã trong phạm vi vụ kiện và theo yêu cầu của luật sư, không lấy một tỷ lệ commit đơn giản để kết luận ai sở hữu hay ai chịu trách nhiệm. Họ phân loại từng phần: tệp bị sao chép với cách viết gần như nguyên vẹn, những khuôn mẫu lập trình phổ biến, code mã nguồn mở và của bên thứ ba, các mô-đun do Kiệt viết, sản phẩm thuộc về công ty, đóng góp từ trước khi thành lập công ty, và cấu hình mang tính bí mật.
Kết quả cho thấy một số mô-đun của EduPro gần như giống hệt code LearnVN. Một số khác là mã nguồn mở hoặc cấu trúc phổ biến ai cũng dùng. Một số do chính Kiệt viết đáng kể từ trước. Một số hoàn toàn mới. Không thể nói “cả app là bản sao”, nhưng có đủ vấn đề nghiêm trọng để LearnVN theo đuổi lệnh cấm sử dụng và các biện pháp dân sự cùng luật sư.
Hai bên không ra tòa hình sự ngay. Không có cảnh lịch sử commit được chiếu lên màn hình rồi một bản án xuất hiện. Thủ tục dân sự và thương mại kéo dài hàng tháng trời, chi phí luật sư tăng dần, và các nhà đầu tư của EduPro bắt đầu lo lắng.
Họ lo không chỉ vì chuyện “đạo code”. Mỗi đợt thẩm định đều hỏi những câu tương tự: chuỗi giấy tờ chứng minh quyền sở hữu trí tuệ, nguồn gốc dữ liệu, các vụ kiện đang mở, nguồn thu hút khách hàng, năng lực quản trị bảo mật và cách hành xử của nhà sáng lập. Một quỹ đầu tư dừng bản điều khoản đã thỏa thuận. Một nhà đầu tư thiên thần ở lại nhưng yêu cầu khắc phục. EduPro phải viết lại một số mô-đun đang tranh chấp để giảm rủi ro, và điều đó ngốn thời gian. App vẫn chạy, nhưng lộ trình sản phẩm chậm hẳn.
EduPro còn vướng một vấn đề thương mại. Lượng người dùng ban đầu đến phần lớn từ tệp khán giả trùng với LearnVN, nhờ những thông điệp so sánh trực tiếp. Sau khi rà soát pháp lý, bộ phận tiếp thị phải sửa lại: không được ám chỉ rằng tài khoản hay tiến độ học từ LearnVN sẽ tự chuyển sang nếu không có cơ sở và sự đồng ý, không được dùng danh sách email không rõ nguồn gốc hợp lệ. Tăng trưởng chậm thêm một nhịp.
Trong khi đó, LearnVN cũng chẳng khỏe mạnh gì. Cuộc chia tay của hai nhà sáng lập khiến cả đội mệt mỏi; ba kỹ sư nghỉ việc, lượng yêu cầu hỗ trợ tồn đọng tăng lên. Khải đã rời vai trò điều hành sau thỏa thuận với hội đồng quản trị, nên công ty phải tuyển người lãnh đạo sản phẩm mới. Không có chuyện “bản gốc” mạnh mãi còn “bản sao” tự chết; cả hai đều đang trả giá cho cách quản trị lỏng lẻo của hai nhà sáng lập ngày trước.
Gần một năm sau sự cố, Kiệt gọi cho Khải. Không ai chửi ai nữa.
“Mày muốn tao đóng cửa EduPro à?”
Khải nghĩ một lúc. “Tao muốn code và dữ liệu không có quyền dùng được xử lý đúng.”
“Còn công ty tao?”
“Không phải của tao để mà đóng.”
Kiệt cười khô khốc. “Mày đổi rồi.”
“Mày cũng vậy.”
Cuối cùng hai bên đạt được một khung thỏa thuận cho một số vấn đề. EduPro ngừng sử dụng, hoặc có lộ trình thay thế, những phần code được xác định thuộc về LearnVN mà không có giấy phép. Kiệt giữ quyền với những tài sản và đóng góp riêng đã được xác định, nếu pháp luật cho phép, hoặc việc cấp phép và chuyển giao được xử lý theo thỏa thuận. Dữ liệu của LearnVN không được dùng cho EduPro ngoài phạm vi cho phép; các bản sao trái quyền được xử lý theo quy trình đã thống nhất. Các tuyên bố công khai không được gọi bên kia là “ăn cắp toàn bộ sản phẩm” khi hồ sơ không ủng hộ một câu tuyệt đối như thế. Chuyện cổ phần và tách công ty được giải quyết riêng.
EduPro không sập vào ngày ký. Nhưng chi phí kiện tụng, lộ trình bị chậm và việc gọi vốn khó khăn khiến Kiệt sau đó phải thu hẹp công ty. Thêm một năm nữa, một phần tài sản và đội ngũ của EduPro được bán cho một công ty công nghệ giáo dục nhỏ hơn, và thương hiệu EduPro dần dừng lại. Không phải vì Kiệt không biết sửa lỗi, mà vì một startup mang theo chuỗi quyền sở hữu và nguồn gốc dữ liệu không sạch sẽ rất khó gọi vốn, khó bán, và tốn quá nhiều nguồn lực để sửa sai.
Khải đọc tin EduPro dừng thương hiệu mà không thấy mình thắng. Anh nhớ những đêm hai người cùng ngồi dựng hệ thống giám sát lúc ba giờ sáng. Kiệt đã làm ra những thứ có thật, và cũng đã vượt qua một ranh giới có thật. Hai câu ấy cùng tồn tại.
Anh còn đề nghị bản tổng kết nội bộ của LearnVN ghi rõ một điều: sức cạnh tranh của sản phẩm EduPro và việc sử dụng tài sản, dữ liệu là hai chuyện khác nhau. Một đối thủ có thể làm sản phẩm tốt mà vẫn phải chịu trách nhiệm nếu nguồn tài sản không sạch; ngược lại, một sản phẩm yếu cũng không tự chứng minh là có vi phạm.
Đó là phiên bản cuối cùng về người bạn cũ mà Khải chấp nhận được.