Since ethdelta and idex are decentralized exchanges, meaning there is no "central" server. The smart contract code is in the ethereum blockchain. Can one just copy this smart contract and launch a similar service? Or is the dex smart contract code not transparent?
The smart contract is out in open indeed, and anyone can interact with that using public functions defined. Some functions require admin account (with private key), like changing fees (within parameters) or fee collection address. I forked EtherDelta contract, and you or your code can interact with that (transfers, deposits, trades) as you wish. It's open and transparent. See https://ropsten.etherscan.io/address/0xc46321efe8883d22d81ed65cb4f0766e1004129d#readContract
Get some Ropsten ETH and LINKs, connect with MetaMask and play around! You can't break it!
I dont know about the smart contract itself. ForkDelta is a fork of EtherDelta. The web interface is hosted at: https://forkdelta.github.io/ the Github repo is here: https://github.com/forkdelta although, I think this is just a fork of an interface for the smart contract, not a fork of the smart contract itself but it might give you somewhere to look.