yuchanns commented on issue #4848:
URL: https://github.com/apache/opendal/issues/4848#issuecomment-2205904241

   > Adding some context:
   
   Ok, I've checked the context. I cited some major blockers:
   
   - Distributing binaries in the source is not permitted.
   - Binary size All-in-one.
   - `go-import` doesn't support subdirectory.
   
   Well, these are truly obstacles. I've no idea how to resolve them.
   
   TBH, I do think it is impossible to support subdirectories in the 
foreseeable future as the Go team prioritizes things based on their needs. Even 
if the problem has been resolved, we still have to challenge the binary 
distribution as Go is not designed to be extended with other languages.
   
   IMO, it is inevitable to have multiple root repos for go bindings of various 
features. As long as these sources are distributed under 
`opendal.apache.org/go`, users can trust them, and no need to care where are 
they placed.
   
   As for the `*.so` binaries, they can be loaded separately just like various 
dialects in `gorm.io/driver/{sqlite,mysql,postgres}`.
   
   That says:
   
   ```go
   package main
   
   import (
        opendal "opendal.apache.org/go"
        _ "opendal.apache.org/go/services/s3" // this dynamic inject *.so
   )
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to