openmainframeproject / tac

Open Mainframe Project TAC processes and meeting notes
https://tac.openmainframeproject.org
Apache License 2.0
69 stars 33 forks source link

Infra Request - junixsocket (Christian Kohlschütter) #594

Open kohlschuetter opened 10 months ago

kohlschuetter commented 10 months ago

Project Name

junixsocket

Code Repository URL

https://github.com/kohlschutter/junixsocket

Project License

Apache 2.0

Names of primary maintainers/project leads

Christian Kohlschütter

Architectures/operating systems currently supported

Most operating systems and platforms, including macOS, Linux (also s390x), Android, Windows, Solaris, FreeBSD, NetBSD, OpenBSD, DragonFlyBSD, AIX, IBM i.

Why are you interested in supporting the mainframe?

junixsocket is a Java/JNI library. Without support on the Mainframe (z/OS), Java applications that require junixsocket cannot be used.

For what it's worth, I'm already able to build and run junixsocket on z/OS, but I'm currently relying on someone else's resources, which make it hard to plan ahead.

I've also tried cross-compiling with ambitus gcc, but that doesn't seem to work as expected.

I'm trying to make my Open Source library "junixsocket" as useful as possible, and I found that we can use all sorts of BSD-style sockets with Java, not just the ones that are supported out of the box.

For example, with junixsocket you can use AF_UNIX (UNIX domain) sockets since Java 8. You can also use junixsocket in combination with Jetty to serve websites over TIPC (on Linux) or VSOCK (on Linux and mac). You can also use it to connect to databases like MySQL or PostgreSQL. Or use Java RMI over AF_UNIX, for example, among many other applications.

With a little extra work, junixsocket could support AF_IUCV / HiperSockets on z/OS as well...

Which operating system(s) will you need access to?

z/OS

Resources requested outside of the standard resources provided.

All I really need is remote access (ssh/scp/sftp) to a z/OS machine that has xlc and Java 8, 11 or newer.

If you have access to other z/* OSes (z/VM, z/TPF?, z/VSE?, ...), these would be very helpful as well. For example, I can already build for z/TPF, but I have no way to test the results.

How long will the infrastructure be needed?

Ongoing

Any other comments or questions

Thanks in advance for your help!

jmertic commented 10 months ago

Thank you @kohlschuetter for this! We are still in the process of getting the infrastructure up and going, but will reach out once it is. Let us know if you have an immediate need.

kohlschuetter commented 10 months ago

@jmertic Thanks for looking into this! Yes, the sooner the better.

I would like to include z/OS binaries to junixsocket by default. I don't want to rely on binary builds from the test server I'm currently using, which is not maintained by a trusted third party like you.