After having seen the first seeds sowed to the idea of distributed platforms as the next viable step of the free Internet, my observations have been fixated on the speed of development in which everything happens. IPFS and Ethereum are at my radar thus far. Much more to come, I’m sure of that.
Both projects are distributed platforms, but the main targets they drive and techniques they use to approach their targets are different. IPFS, Interplanetary Filesystem, is as said in its abbreviation, a filesystem. Ethereum, on the other hand is aiming to use the Blockchain technology (for which, I am embarassed to say, I have only information on how I use it, not its theory or technical implementation) to execute bytecode in a distributed and assumingly trusted fashion (terse description of the potential, I know). Please note, this is opinion is coming from just discovering Ethereum two days ago, so take it as such, an opinion.
Ethereums idea of having everybody involved (meaning joining the Ethereum network/blockchain) in execution of code is quite worrying. Firstly, there is no way to tell if the actual bytecode is going to be hostile at some point of the future, creating a security issue. Secondly, the idea of having to spend Ether to execute code in a distributed fashion is against the very freedom that Ethereum is licenced on, GPL. Without sounding like a purist, this is something I cannot stand behind with. Unless I can somehow download the bytecode myself and its adjoining “Contract” source code, the validity of this execution method remains questionable. Please note, that doing this done by mining or paying Ether. When using the application, the execution method is done by the miners, probably not so that you join the network when you do execution.
I certainly can stand behind the idea that Ethereum is proposing, distributed way of expressing ourselves, without the need of a “Host” service for it, is enticing. IPFS, even if a filesystem at alpha stages, does not take stance on doing the actual binary execution. The core idea is the same, for example, a image hosting service is already doing the function of imgur, but instead has a storage backend, which uses IPFS. Since IPFS is free software, anyone can host the images by referencing the IPNS URI. Also the code for the image hosting service is free software, take a look in the links at the end of this post.
Both of these techniques are at early stages, but the potential they both have is great. This of course applies to many FOSS projects at start, but as a final thought, the potential also runs after the supposed “death” of a project. Distributed version control systems make it possible to share code between developers, so as long as someone has a copy, the project can live on with other people. Project is more than its people or its potential “death”, its the legacy it generates from the very start of it, ideas people had and greatest of all, transparency in the actual work.