- Bài viết về việc port Lotus 1-2-3, một phần mềm 30 năm tuổi, sang Linux
- Tác giả, một người hâm mộ cuồng nhiệt của Lotus 1-2-3, đã duy trì driver để phần mềm hoạt động tốt trên các hệ thống hiện đại
- Lotus 1-2-3 được thiết kế để có thể mở rộng bằng plugin hoặc "add-in", nhưng trình biên dịch và SDK của LPL, ngôn ngữ đặc biệt dùng để viết các add-in này, đã biến mất
- Tác giả đã tìm thấy một bản sao SDK từ một sysop trong cộng đồng BBS thập niên 90 và dùng nó để tạo một vài plugin mẫu
- Tác giả tìm thấy một bản sao Lotus 1-2-3 cho UNIX vốn được cho là đã thất lạc và quyết định port nó sang Linux
- Quá trình port bao gồm việc vượt qua nhiều thách thức kỹ thuật như các system call không tương thích giữa UNIX và Linux, các hàm không tương thích, và
termios phức tạp
- Tác giả dùng GNU objcopy để chuyển các tệp đối tượng COFF sang ELF, định dạng được Linux sử dụng, và tạo ra một công cụ tên là coffsyrup để loại bỏ các symbol COFF
- Tác giả cũng phải vượt qua bước kiểm tra giấy phép vì phần mềm từ chối hoạt động nếu không có license
- Lotus 1-2-3 sau khi được port giờ đã có thể sử dụng 100% trên Linux, dù vẫn còn một số vấn đề cần khắc phục
- Tác giả đã công khai toàn bộ mã nguồn trên GitHub cho bất kỳ ai muốn thử
1 bình luận
Ý kiến trên Hacker News