If you are missing the source files and only have the GDS, it is still possible to create a gate-level netlist. This is exactly what LVS tools do. Most LVS tools create the extracted netlist in the CDL / SPICE format, but some can also do it directly to verilog (or use a CDL to verilog converter). I am not sure how well open-source tools work for this, you would have to look at Magic/KLayout to find out.