*Proposal for GSoC*

- Organization: Apache
- Project: OpenDAL oftp
- Contributor: George Miao

*About me*

I'm George Miao, an undergraduate student at Syracuse University with over
6 years of experience in software development. I have a strong background
in Rust programming language and web development.

*Background*

OpenDAL is a data access layer that allows users to easily and efficiently
retrieve data from various storage services in a unified way. oftp can
expose OpenDAL power in FTP way that allows users to access storage
services via FTP protocol.

*Description*

oftp will be a single binary cargo package under `/bin` of OpenDAL
repository. I plan to use [libunftp](https://github.com/bolcom/libunftp),
which offers great support for generic storage backend (like OpenDAL) and
async operations. List of subjects in rough chronological order:

- Write a basic FTP server using libunftp, with OpenDAL as the storage
backend
- Write thorough tests to ensure the desired functionality
- Add configuration (both config file and command line args)
- Write some detailed documentation and user guide
- Provide a `unftp-sbe-opendal` for upstream (unFTP) to integrate (
*optional*)

*Results for the Apache community*

The OpenDAL project will benefit from the addition of oftp, as it will
allow users to access storage services via FTP protocol.

*Deliverables*

- The ftp server itself
- Unit test for each ftp command and some integration tests
- User guide and configuration guide

*Scheduling*

- Week 1-2: Implement the core FTP server
- Week 3-4: Test core functionality, fix bugs
- Week 5-6: Implement auxiliary features (configuration, command line, etc.)
- Week 7-8: Test auxiliary features, fix bugs
- Week 9-10: Write documentation and user guide
- Rest of the time: Tracking, buffer for bugfixes, more features, etc.

Reply via email to