The subspace W is equal to span{a,b,c,d}, where:
a = [1, 1, 1, 1], b = [0, -1, -1, -1], c = [0, 0, 1, -1]
To produce an orthonormal basis for W using the Gram Schmidt method, you do the following:
1. Take one of the vectors, say a, and divide by its norm to get q1. q1 = a/|a|
2. Take another of vectors, say b, and subtract it's own projection onto q1, then divide this new vector you get by its norm to get q2. q2 = (b - (b.q1)q1 )/|b - (b.q1)q1|
3. Take the final vector, c, and subtract it's own projection on span{q1, q2}. Since q1 and q2 are orthogonal, it suffices to simply subtract the projection of each vector from c (otherwise you'd have to use the subspace projection formula), and then divide this resulting vector by it's norm to get q3. q3 = (c - (c.q2)q2 - (c.q1)q1)/|c - (c.q2)q2 - (c.q1)q1|
Now q1, q2, and q3 form an orthonormal basis for W. This procedure can be extended to more than three vectors if required. And keep in mind the answer to this question is not unique.