I have been thinking about the same thing as of lately. Creating an open source FPGA with full tools: Synthesis, Place and Route, low level FPGA editor and more.
I was thinking as a start to make something similar to the old Spartan-1 type fpga in a newer process. The marked targeted would be in between the CPLD and the smallish fpga's. (100 luts to 1000 luts)
The reason for this is that CPLD's are simple to integrate on board (no non volatile storage, only one supply voltage) but for small fpga's you already need a seperate configuration device, 3 voltage outputs more stringent decoupling. CPLD's only have maximum of 256 3-lut capacity before they are not cost effective anymore.
What I am missing is a small simple FPGA that does not have all the features of the more modern devices but with a spartan-1 level device you can still build some pretty impressive stuff. The device has 4 global clocks, 4 input luts that are configurable as 1x16 SRAM (you could opt for 6 input lut's these days). No multipliers, ram blocks, clock managers. This would be more targeted as a microcontroller replacement if made sufficiently low power and made running with a wide voltage range. I would still opt for an external flash storage device to reduce the FPGA price and complexity but using a standard serial flash chip.
Reverse engineering FPGA's seems like a time consuming and error prone job to do and you would always be a few generations behind. Not really an option.