Chapter 363 git
Chapter 363 git
March 1, 2000, 8:00 AM. Jinan, Lixia District.
Ling Yun sat in his study, the computer in front of him a product of Xinghuo Electronics Factory. It had a silver-gray casing, a Xinghuo mechanical keyboard, and an optical mouse. He'd been using it for two months, and it felt alright. A command-line window was open on the screen, with a black background and a blinking green cursor. He stared at the cursor for a while, then began typing.
cd git
make
./git --version
A line of text popped up on the screen: git version 0.1
He leaned back in his chair, stared at the text for a moment, then picked up his phone and sent Li Mo a text message: "Git is finished. How's it going on your end?"
A few minutes later, Li Mo replied: "The server is set up, the domain name resolution is normal, and it can be launched at any time."
Ling Yun put down his phone and opened his browser. He typed a URL into the address bar and pressed enter. The page slowly loaded; it was simple, white background with black text. At the top were the words "Starry Sky Open Source Community," and below were several sections: Project List, Code Repository, Documentation, and Forum. The page was mostly empty, with only a few test posts from Li Mo and Jiang Feng from a couple of days ago.
He stared at the page for a few seconds, then closed it. He opened a command-line window and started packaging the code.
tar -czf git-0.1.tar.gz git/
After packaging, he opened his FTP client, entered the server address, username, and password. He dragged the compressed file into the "/pub/software/" directory. The progress bar moved for a while, then finished.
He opened his browser again and refreshed the Xingchen Open Source Community page. A new line had appeared on the homepage: "New Project: Git – Distributed Version Control System". He clicked on it, and the page displayed the following text: Git is a distributed version control system used to track code changes. Open Source License: GPL. Author: Ling Yun. Download Address: /pub/software/git-0.1.tar.gz
He stared at those lines of text for a long time. Then he exited, returned to the homepage, and refreshed the page. The download count was still 0.
He stood up and went to the kitchen to pour himself a glass of water. An Shiyu was in the living room playing with her daughter; the little one was sitting on the carpet, a pile of building blocks in front of her, which she was stacking higher and higher.
An Shiyu looked up and saw him, asking, "Are you done with your work?"
Lingyun, holding her cup, replied, "That's about right."
An Shiyu nodded and didn't ask any more questions. She looked down at her daughter, who had stacked four more pieces, and this time they didn't fall over; she was now stacking the fifth.
Ling Yun stood there for a while, then turned and went back to his study. He returned to his computer and refreshed the page. Downloads: 1.
He stared at the number for a few seconds. Then he refreshed the page, and it became 2.
He leaned back in his chair, watching the number climb higher and higher. 8, 12, 17, 23, 31.
Someone started posting on the forum. The first post was titled "Git Testing," and the content was, "Downloaded, compiled successfully, haven't gotten used to it yet, just leaving my name for now." The poster's ID was a string of numbers, making it impossible to tell who it was. Lingyun didn't reply and kept refreshing. The download count jumped to 47.
The second post was titled "What is this version control tool for?", and someone replied, "Similar to CVS, but distributed." Another person replied, "Distributed? Interesting." Yet another person commented, "Is the author Lingyun? Is it the Lingyun from Xingchen Technology?"
Ling Yun looked at the question but didn't answer it.
At noon, An Shiyu came to call him for lunch. Braised pork, stir-fried bok choy, and tomato and egg soup. His daughter sat in her high chair, a small bowl and spoon in front of her, eating by herself, rice smeared all over her face. Ling Yun sat down next to her. The little one glanced at him, then lowered her head and continued eating. In the past twenty days, she had stopped avoiding him, but she wasn't very affectionate either. She just stayed like that, neither crying nor fussing, and she didn't call him "Dad."
An Shiyu served him a bowl of rice and placed it in front of him. He picked up the bowl and ate a few bites.
An Shiyu asked him, "Does anyone use that thing?"
Lingyun replied, "Yes. Dozens of people downloaded it this morning."
An Shiyu nodded and put a piece of braised pork into his bowl.
After finishing his meal, Ling Yun helped An Shiyu clear the table, washed the dishes, dried his hands, and returned to his study. He refreshed the page. Downloads: 231.
There were more posts on the forum, about ten now. Some people asked how to use it, some posted a usage log, and some said they encountered an error during compilation. Lingyun clicked on the post with the error, read it, and then replied: "Requires GCC version 2.8 or higher. Lower versions will have compatibility issues, which will be fixed in the next version."
After replying, he opened the code and started modifying it.
At 3 PM, Li Mo called.
"Mr. Ling, did you see that?"
Lingyun replied, "I saw it. More than two hundred people downloaded it."
Li Mo said, "That's not all. I checked the server logs, and the IPs come from more than a dozen countries. The United States, Germany, Japan, the United Kingdom, they're all there. Someone even asked on the forum if they could submit code."
Ling Yun thought for a moment, then said, "Okay, but it needs to be approved."
Li Mo asked him, "What are the review standards?"
Lingyun replied, "The code is standardized, the logic is clear, and it won't introduce new bugs. Take a look at it first, and give it to me again if you're unsure about anything."
Li Mo said, "Okay."
Ling Yun then asked him, "Has the core source code of StarCraft been uploaded?"
Li Mo replied, "It's been uploaded. As you said, everything is public, including the kernel, driver framework, and basic libraries; they're all in the public code repository."
Ling Yun nodded and said, "Okay."
Li Mo paused for a moment, then asked him, "President Ling, are you really going to release the entire kernel source code? That's three years of hard work."
Ling Yun replied, "We can only survive by making it public. If one person can't write anymore, we need the whole world to help us write."
Li Mo didn't speak for a few seconds before saying, "I understand."
After hanging up the phone, Ling Yun opened the StarOS open-source community and found the code repository section. At the top was the StarOS system's kernel source code, labeled "StarOS Kernel Source Code". He clicked on it and saw a directory tree with densely packed folders, covering everything from memory management and process scheduling to the file system and network protocol stack.
He looked at it for a few seconds, then turned it off.
At 4 PM, another post appeared on the forum. Titled "StarOS Kernel Code Reading Notes," it was posted by a newly registered ID. The post, over a thousand words long, analyzed the design principles of the StarOS kernel's memory management module, concluding that "this design is ingenious, even more efficient than some Linux implementations." Someone replied, "The author is the founder of StarOS; how could it not be brilliant?" Another person commented, "It seems he left StarOS and is now in China."
Ling Yun looked at the posts but didn't reply.
In the evening, An Shiyu took her daughter out to buy groceries. The house quieted down. Ling Yun sat alone in the study, refreshing the page again. Downloads: 487. Forum posts: 43. Code repository clones: 129.
He opened a terminal window and typed in a command.
git clone XXXXXXXXXXXXXXXXXXXXXXXXXXXX
The code started scrolling down, line by line, across the screen. He watched the filenames flash by: mem_alloc.c, sched.c, ipc.c, file_system.c, driver.c. His work, Li Mo's work, Eric's work, and many other names were all mixed in. After scrolling for about ten seconds, it was finished. He created a new branch locally named "user/l凌云/experimental".
Then he started modifying the code.
At seven o'clock in the evening, An Shiyu and her daughter returned. Her daughter was changing her shoes at the door when she ran in, holding a lollipop and shouting, "Daddy! Candy!"
Ling Yun was taken aback. This was the first time his daughter had called him since he returned. He squatted down and looked at his daughter's face. The little one's cheeks were rosy, her eyes bright, and she held out a lollipop to him. He took it, unwrapped it, and popped it into his mouth; it was sweet.
An Shiyu stood at the door, looking at them, and her lips twitched slightly.
He stood up, picked up his daughter, and went to the living room. An Shiyu went into the kitchen to cook. He sat on the sofa, his daughter on his lap, holding the remote control and pressing buttons on the TV. An animated film was playing; she watched for a while, then stopped, and pressed the buttons again. He let her.
During dinner, An Shiyu asked him, "Are you busy again tomorrow?"
Lingyun replied, "Busy. But I can be busy at home."
An Shiyu nodded and didn't ask any more questions.
After finishing his meal, Ling Yun returned to his study. He opened the forum and saw several more posts. One post asked if Git could be ported to Windows, to which he replied, "Yes, but someone needs to do the porting." Another post asked about the plans for the next version of the StarCyber kernel, and after thinking for a moment, he replied, "Support ARM architecture and reduce power consumption."
chsdbacks