You seem to think that the salt and/or the salting and hashing algorithm need to be kept secret. They do not. Salt only protects against very specific threat scenarios.
Remember that computing a hash on a value always return the same hash value (otherwise it would be useless.) But that means an attacker can use that property to test the hash values in your database by hashing password guesses. If his guess hashes to the same value as a hash in the table, his guess was correct and he knows that password. Salting helps prevent this from being a problem in two ways.
By adding a long, random salt to the password before hashing, it protects against someone pre-computing the hash values of password guesses. (This is called a 'rainbow table attack'; you can go online and buy a 1TB hard drive with billions of pre-computed hashes already in a lookup table.)
By using a unique salt for each password, you protect against someone spotting collisions in your database. Without using a unique salt for each password, if my password was ABC and it hashed to 123, and if you also happened to use ABC as your password, it would also hash to 123. Anyone looking at the database would see that we both share a common password.
In no case do the salt and hashing algorithm have to be kept secret in order to preserve these protections, so you can open source all of this work.
For added security, some people add what is called a "pepper" into this algorithm; 'pepper' being a cute name for a common salt value that is applied to all passwords in a system and kept secret.
What's also important for protecting your passwords in a breach scenario is that the password hashing algorithm be computationally expensive. This helps prevent brute force attacks, because the attacker generally cannot spend enough CPU time to test billions of guesses. The way this is achieved is through repetition of a cryptographically secure hashing algorithm. A modern computer with a GPU card can calculate 10s of billions of SHA-1 hashes per second. If you used SHA-1 as the password hashing algorithm, that means an attacker could test 10 billion password guesses per second. By using a password hashing function like PBKDF2, you repeat the hash thousands of times, ensuring the attacker could only test a few hundred guesses per second.