Combine is indeed based on the Reactive Streams spec, with a few small modifications that we felt were important.